Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/rpc/virnetlibsshsession.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/rpc/virnetlibsshsession.c b/src/rpc/virnetlibsshsession.c
index 73f5e998fc..76934c7c0b 100644
--- a/src/rpc/virnetlibsshsession.c
+++ b/src/rpc/virnetlibsshsession.c
@@ -114,7 +114,8 @@ virNetLibsshSessionAuthMethodsFree(virNetLibsshSessionPtr sess)
size_t i;
for (i = 0; i < sess->nauths; i++) {
- VIR_DISPOSE_STRING(sess->auths[i]->password);
+ virSecureEraseString(sess->auths[i]->password);
+ g_free(sess->auths[i]->password);
VIR_FREE(sess->auths[i]->filename);
VIR_FREE(sess->auths[i]);
}
@@ -445,7 +446,8 @@ virNetLibsshAuthenticatePrivkeyCb(const char *prompt,
p = virStrncpy(buf, retr_passphrase.result,
retr_passphrase.resultlen, len);
- VIR_DISPOSE_STRING(retr_passphrase.result);
+ virSecureEraseString(retr_passphrase.result);
+ g_free(retr_passphrase.result);
if (p < 0) {
virReportError(VIR_ERR_LIBSSH, "%s",
_("passphrase is too long for the buffer"));
@@ -739,7 +741,8 @@ virNetLibsshAuthenticateKeyboardInteractive(virNetLibsshSessionPtr
sess,
ret = ssh_userauth_kbdint_setanswer(sess->session, iprompt,
retr_passphrase.result);
- VIR_DISPOSE_STRING(retr_passphrase.result);
+ virSecureEraseString(retr_passphrase.result);
+ g_free(retr_passphrase.result);
if (ret < 0) {
errmsg = ssh_get_error(sess->session);
virReportError(VIR_ERR_AUTH_FAILED,
--
2.29.2