75 lines
2.6 KiB
Diff
75 lines
2.6 KiB
Diff
From 7c3d3976fa4036fe5c260ca3a68376360e98e260 Mon Sep 17 00:00:00 2001
|
|
From: Julio Faracco <jcfaracco@gmail.com>
|
|
Date: Sat, 3 Aug 2019 02:16:13 -0300
|
|
Subject: [PATCH] utils: Fix wrong integer of a function parameter.
|
|
|
|
If SSL is enabled, utils will include function `do_sha1_hash()` to
|
|
generate a sha1 encrypted buffer. Last function argument of
|
|
`EVP_DigestFinal_ex()` requires a `unsigned int` but the current
|
|
parameter is an `integer` type.
|
|
|
|
See error:
|
|
utils.c:350:38: error: passing 'int *' to parameter of type 'unsigned int *' converts between pointers to integer types with different sign
|
|
[-Werror,-Wpointer-sign]
|
|
EVP_DigestFinal_ex(mdctx, md_value, md_len);
|
|
^~~~~~
|
|
/usr/include/openssl/evp.h:549:49: note: passing argument to parameter 's' here
|
|
unsigned int *s);
|
|
|
|
Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
|
|
---
|
|
src/lxc/lxccontainer.c | 3 ++-
|
|
src/lxc/utils.c | 4 ++--
|
|
src/lxc/utils.h | 2 +-
|
|
3 files changed, 5 insertions(+), 4 deletions(-)
|
|
|
|
diff --git src/lxc/lxccontainer.c src/lxc/lxccontainer.c
|
|
index 52c38fd330..09d427a491 100644
|
|
--- src/lxc/lxccontainer.c
|
|
+++ src/lxc/lxccontainer.c
|
|
@@ -1660,7 +1660,8 @@ static bool prepend_lxc_header(char *path, const char *t, char *const argv[])
|
|
FILE *f;
|
|
int ret = -1;
|
|
#if HAVE_OPENSSL
|
|
- int i, md_len = 0;
|
|
+ int i;
|
|
+ unsigned int md_len = 0;
|
|
unsigned char md_value[EVP_MAX_MD_SIZE];
|
|
char *tpath;
|
|
#endif
|
|
diff --git src/lxc/utils.c src/lxc/utils.c
|
|
index bf4a9c2cbd..9ddbabfc85 100644
|
|
--- src/lxc/utils.c
|
|
+++ src/lxc/utils.c
|
|
@@ -333,7 +333,7 @@ int lxc_wait_for_pid_status(pid_t pid)
|
|
#ifdef HAVE_OPENSSL
|
|
#include <openssl/evp.h>
|
|
|
|
-static int do_sha1_hash(const char *buf, int buflen, unsigned char *md_value, int *md_len)
|
|
+static int do_sha1_hash(const char *buf, int buflen, unsigned char *md_value, unsigned int *md_len)
|
|
{
|
|
EVP_MD_CTX *mdctx;
|
|
const EVP_MD *md;
|
|
@@ -353,7 +353,7 @@ static int do_sha1_hash(const char *buf, int buflen, unsigned char *md_value, in
|
|
return 0;
|
|
}
|
|
|
|
-int sha1sum_file(char *fnam, unsigned char *digest, int *md_len)
|
|
+int sha1sum_file(char *fnam, unsigned char *digest, unsigned int *md_len)
|
|
{
|
|
char *buf;
|
|
int ret;
|
|
diff --git src/lxc/utils.h src/lxc/utils.h
|
|
index dd6404f0b3..c1667e8c4c 100644
|
|
--- src/lxc/utils.h
|
|
+++ src/lxc/utils.h
|
|
@@ -99,7 +99,7 @@ extern int wait_for_pid(pid_t pid);
|
|
extern int lxc_wait_for_pid_status(pid_t pid);
|
|
|
|
#if HAVE_OPENSSL
|
|
-extern int sha1sum_file(char *fnam, unsigned char *md_value, int *md_len);
|
|
+extern int sha1sum_file(char *fnam, unsigned char *md_value, unsigned int *md_len);
|
|
#endif
|
|
|
|
/* initialize rand with urandom */
|