From bb35e696dfe1e58653aa1b9d5de0a8a0b0a52080 Mon Sep 17 00:00:00 2001 From: Vitaly Chikunov Date: Mon, 8 Jul 2019 02:48:34 +0300 Subject: [PATCH] ima-evm-utils: Fix memory leak in init_public_keys strdup'ed string should be freed. Found with ASan. Signed-off-by: Vitaly Chikunov Signed-off-by: Mimi Zohar --- src/libimaevm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libimaevm.c b/src/libimaevm.c index fe1962b..b556276 100644 --- a/src/libimaevm.c +++ b/src/libimaevm.c @@ -421,11 +421,12 @@ static EVP_PKEY *find_keyid(uint32_t keyid) void init_public_keys(const char *keyfiles) { struct public_key_entry *entry; - char *tmp_keyfiles; + char *tmp_keyfiles, *keyfiles_free; char *keyfile; int i = 1; tmp_keyfiles = strdup(keyfiles); + keyfiles_free = tmp_keyfiles; while ((keyfile = strsep(&tmp_keyfiles, ", \t")) != NULL) { if (!keyfile) @@ -452,6 +453,7 @@ void init_public_keys(const char *keyfiles) entry->next = public_keys; public_keys = entry; } + free(keyfiles_free); } /*