mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-20 09:58:15 +03:00
rpc: fix handling of SSH auth failure code
The result of libssh2_userauth_password is being assigned to 'ret' in one branch and 'rc' in the other branch. Checks are all done against the 'ret' variable, so one branch never does the correct check. Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
a017bae1ae
commit
5a128712bc
@ -706,9 +706,9 @@ virNetSSHAuthenticatePassword(virNetSSHSessionPtr sess,
|
||||
|
||||
if (priv->password) {
|
||||
/* tunelled password authentication */
|
||||
if ((ret = libssh2_userauth_password(sess->session,
|
||||
priv->username,
|
||||
priv->password)) == 0) {
|
||||
if ((rc = libssh2_userauth_password(sess->session,
|
||||
priv->username,
|
||||
priv->password)) == 0) {
|
||||
ret = 0;
|
||||
goto cleanup;
|
||||
}
|
||||
@ -737,7 +737,7 @@ virNetSSHAuthenticatePassword(virNetSSHSessionPtr sess,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (ret != LIBSSH2_ERROR_AUTHENTICATION_FAILED)
|
||||
if (rc != LIBSSH2_ERROR_AUTHENTICATION_FAILED)
|
||||
break;
|
||||
|
||||
VIR_FREE(password);
|
||||
@ -750,10 +750,10 @@ virNetSSHAuthenticatePassword(virNetSSHSessionPtr sess,
|
||||
_("authentication failed: %s"), errmsg);
|
||||
|
||||
/* determine exist status */
|
||||
if (ret == LIBSSH2_ERROR_AUTHENTICATION_FAILED)
|
||||
return 1;
|
||||
if (rc == LIBSSH2_ERROR_AUTHENTICATION_FAILED)
|
||||
ret = 1;
|
||||
else
|
||||
return -1;
|
||||
ret = -1;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(password);
|
||||
|
Loading…
x
Reference in New Issue
Block a user