blob_bin is freed a few lines above unconditionally, so freeing it again in the error path will cause a double free.
Signed-off-by: Ahmad Fatoum <a.fat...@pengutronix.de> --- src/keystore-blob.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/keystore-blob.c b/src/keystore-blob.c index ed6ecb4eaa25..8ec07f0a3d56 100644 --- a/src/keystore-blob.c +++ b/src/keystore-blob.c @@ -81,10 +81,8 @@ int keystore_get_secret(const char *name, const unsigned char **key, int *key_le /* payload */ fd = open(blob_gen_payload, O_RDONLY); - if (fd < 0) { - free(blob_bin); + if (fd < 0) return -errno; - } payload = xzalloc(len); len = read(fd, payload, len); -- 2.39.2