From c998e827328c7989986e4fb91048e7f427f722a8 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sun, 10 Jul 2016 20:59:34 +0200 Subject: [PATCH] gcrypt: Always initialize result pointer. If the call to mmap_full_file() at the beginning of decode_key() fails, we return without initializing the result pointer to NULL. This does not matter now, because the only caller of decode_key() does not look at the pointer value in the error case. Let's be defensive here and initialize the pointer anyway. --- gcrypt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcrypt.c b/gcrypt.c index 45a1c67d..63f8fff3 100644 --- a/gcrypt.c +++ b/gcrypt.c @@ -212,7 +212,7 @@ static int decode_key(const char *key_file, const char *header_str, ret = mmap_full_file(key_file, O_RDONLY, &map, &map_size, NULL); if (ret < 0) - return ret; + goto out; ret = -E_KEY_MARKER; if (strncmp(map, header_str, strlen(header_str))) goto unmap; @@ -257,6 +257,7 @@ unmap: free(blob); blob = NULL; } +out: *result = blob; return ret; } -- 2.39.5