From: Peter Krempa Date: Tue, 2 Feb 2021 15:00:28 +0000 (+0100) Subject: virNetLibsshSessionAuthAddPrivKeyAuth: Refactor cleanup X-Git-Tag: v7.1.0-rc1~325 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5761f8ab54a12e2d49bd993a9172e3f8d501dc13;p=thirdparty%2Flibvirt.git virNetLibsshSessionAuthAddPrivKeyAuth: Refactor cleanup Shuffle the code around to remove the need for temporary variables and labels for cleaning them. Signed-off-by: Peter Krempa Reviewed-by: Daniel P. Berrangé --- diff --git a/src/rpc/virnetlibsshsession.c b/src/rpc/virnetlibsshsession.c index ed697c7ce4..9671a0f98d 100644 --- a/src/rpc/virnetlibsshsession.c +++ b/src/rpc/virnetlibsshsession.c @@ -1013,10 +1013,7 @@ virNetLibsshSessionAuthAddPrivKeyAuth(virNetLibsshSessionPtr sess, const char *keyfile, const char *password) { - int ret; virNetLibsshAuthMethodPtr auth; - VIR_AUTODISPOSE_STR pass = NULL; - char *file = NULL; if (!keyfile) { virReportError(VIR_ERR_LIBSSH, "%s", @@ -1026,28 +1023,18 @@ virNetLibsshSessionAuthAddPrivKeyAuth(virNetLibsshSessionPtr sess, virObjectLock(sess); - file = g_strdup(keyfile); - pass = g_strdup(password); - if (!(auth = virNetLibsshSessionAuthMethodNew(sess))) { - ret = -1; - goto error; + virObjectUnlock(sess); + return -1; } - auth->password = g_steal_pointer(&pass); - auth->filename = file; + auth->password = g_strdup(password); + auth->filename = g_strdup(keyfile); auth->method = VIR_NET_LIBSSH_AUTH_PRIVKEY; auth->ssh_flags = SSH_AUTH_METHOD_PUBLICKEY; - ret = 0; - - cleanup: virObjectUnlock(sess); - return ret; - - error: - VIR_FREE(file); - goto cleanup; + return 0; } int