From 36cffe054d2229ca21c093f28957e45fd09ba921 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 21 Mar 2017 14:07:07 +0200 Subject: [PATCH] [crypto] Free correct pointer on the error path Signed-off-by: Michael Brown --- src/image/pem.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/image/pem.c b/src/image/pem.c index 721b11ec..3f5d1f30 100644 --- a/src/image/pem.c +++ b/src/image/pem.c @@ -145,7 +145,7 @@ static int pem_asn1 ( struct image *image, size_t offset, *cursor = malloc ( sizeof ( **cursor ) + decoded_max_len ); if ( ! *cursor ) { rc = -ENOMEM; - goto err_alloc_decoded; + goto err_alloc_cursor; } decoded = ( ( ( void * ) *cursor ) + sizeof ( **cursor ) ); @@ -172,8 +172,9 @@ static int pem_asn1 ( struct image *image, size_t offset, return offset; err_decode: - free ( decoded ); - err_alloc_decoded: + free ( *cursor ); + *cursor = NULL; + err_alloc_cursor: free ( encoded ); err_alloc_encoded: err_end: