Blob Blame History Raw
diff --git a/src/evmctl.c b/src/evmctl.c
index 2ffee78..b80a1c9 100644
--- a/src/evmctl.c
+++ b/src/evmctl.c
@@ -1716,7 +1716,7 @@ static char *get_password(void)
 
 	if (tcsetattr(fileno(stdin), TCSANOW, &tmp_flags) != 0) {
 		perror("tcsetattr");
-		return NULL;
+		goto get_pwd_err;
 	}
 
 	printf("PEM password: ");
@@ -1725,10 +1725,14 @@ static char *get_password(void)
 	/* restore terminal */
 	if (tcsetattr(fileno(stdin), TCSANOW, &flags) != 0) {
 		perror("tcsetattr");
-		return NULL;
+		goto get_pwd_err;
 	}
 
+	free(password);
 	return pwd;
+get_pwd_err:
+	free(password);
+	return NULL;
 }
 
 int main(int argc, char *argv[])
diff --git a/src/libimaevm.c b/src/libimaevm.c
index 6fa0ed4..39582f2 100644
--- a/src/libimaevm.c
+++ b/src/libimaevm.c
@@ -466,6 +466,8 @@ void init_public_keys(const char *keyfiles)
 		entry->next = public_keys;
 		public_keys = entry;
 	}
+
+	free(tmp_keyfiles);
 }
 
 int verify_hash_v2(const char *file, const unsigned char *hash, int size,
-- 
2.14.4