46 lines
1001 B
Diff
46 lines
1001 B
Diff
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
|
|
|