diff mbox series

[v1,19/59] block/ssh.c: remove unneeded labels

Message ID 20200106182425.20312-20-danielhb413@gmail.com (mailing list archive)
State New, archived
Headers show
Series trivial unneeded labels cleanup | expand

Commit Message

Daniel Henrique Barboza Jan. 6, 2020, 6:23 p.m. UTC
The 'out' labels for check_host_key_knownhosts() and authenticate()
functions can be removed and, instead, call 'return' with the
appropriate return value. The 'ret' integer from both functions
could also be removed.

CC: Richard W.M. Jones <rjones@redhat.com>
CC: qemu-block@nongnu.org
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
 block/ssh.c | 61 +++++++++++++++++------------------------------------
 1 file changed, 19 insertions(+), 42 deletions(-)

Comments

Richard W.M. Jones Jan. 6, 2020, 6:37 p.m. UTC | #1
On Mon, Jan 06, 2020 at 03:23:45PM -0300, Daniel Henrique Barboza wrote:
> The 'out' labels for check_host_key_knownhosts() and authenticate()
> functions can be removed and, instead, call 'return' with the
> appropriate return value. The 'ret' integer from both functions
> could also be removed.
> 
> CC: Richard W.M. Jones <rjones@redhat.com>
> CC: qemu-block@nongnu.org
> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
> ---
>  block/ssh.c | 61 +++++++++++++++++------------------------------------
>  1 file changed, 19 insertions(+), 42 deletions(-)
> 
> diff --git a/block/ssh.c b/block/ssh.c
> index b4375cf7d2..e0c56d002a 100644
> --- a/block/ssh.c
> +++ b/block/ssh.c
> @@ -276,7 +276,6 @@ static void ssh_parse_filename(const char *filename, QDict *options,
>  
>  static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
>  {
> -    int ret;
>  #ifdef HAVE_LIBSSH_0_8
>      enum ssh_known_hosts_e state;
>      int r;
> @@ -295,7 +294,6 @@ static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
>          trace_ssh_check_host_key_knownhosts();
>          break;
>      case SSH_KNOWN_HOSTS_CHANGED:
> -        ret = -EINVAL;
>          r = ssh_get_server_publickey(s->session, &pubkey);
>          if (r == 0) {
>              r = ssh_get_publickey_hash(pubkey, SSH_PUBLICKEY_HASH_SHA256,
> @@ -320,28 +318,23 @@ static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
>                         "host key does not match the one in known_hosts; this "
>                         "may be a possible attack");
>          }
> -        goto out;
> +        return -EINVAL;
>      case SSH_KNOWN_HOSTS_OTHER:
> -        ret = -EINVAL;
>          error_setg(errp,
>                     "host key for this server not found, another type exists");
> -        goto out;
> +        return -EINVAL;
>      case SSH_KNOWN_HOSTS_UNKNOWN:
> -        ret = -EINVAL;
>          error_setg(errp, "no host key was found in known_hosts");
> -        goto out;
> +        return -EINVAL;
>      case SSH_KNOWN_HOSTS_NOT_FOUND:
> -        ret = -ENOENT;
>          error_setg(errp, "known_hosts file not found");
> -        goto out;
> +        return -ENOENT;
>      case SSH_KNOWN_HOSTS_ERROR:
> -        ret = -EINVAL;
>          error_setg(errp, "error while checking the host");
> -        goto out;
> +        return -EINVAL;
>      default:
> -        ret = -EINVAL;
>          error_setg(errp, "error while checking for known server (%d)", state);
> -        goto out;
> +        return -EINVAL;
>      }
>  #else /* !HAVE_LIBSSH_0_8 */
>      int state;
> @@ -355,40 +348,31 @@ static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
>          trace_ssh_check_host_key_knownhosts();
>          break;
>      case SSH_SERVER_KNOWN_CHANGED:
> -        ret = -EINVAL;
>          error_setg(errp,
>                     "host key does not match the one in known_hosts; this "
>                     "may be a possible attack");
> -        goto out;
> +        return -EINVAL;
>      case SSH_SERVER_FOUND_OTHER:
> -        ret = -EINVAL;
>          error_setg(errp,
>                     "host key for this server not found, another type exists");
> -        goto out;
> +        return -EINVAL;
>      case SSH_SERVER_FILE_NOT_FOUND:
> -        ret = -ENOENT;
>          error_setg(errp, "known_hosts file not found");
> -        goto out;
> +        return -ENOENT;
>      case SSH_SERVER_NOT_KNOWN:
> -        ret = -EINVAL;
>          error_setg(errp, "no host key was found in known_hosts");
> -        goto out;
> +        return -EINVAL;
>      case SSH_SERVER_ERROR:
> -        ret = -EINVAL;
>          error_setg(errp, "server error");
> -        goto out;
> +        return -EINVAL;
>      default:
> -        ret = -EINVAL;
>          error_setg(errp, "error while checking for known server (%d)", state);
> -        goto out;
> +        return -EINVAL;
>      }
>  #endif /* !HAVE_LIBSSH_0_8 */
>  
>      /* known_hosts checking successful. */
> -    ret = 0;
> -
> - out:
> -    return ret;
> +    return 0;
>  }
>  
>  static unsigned hex2decimal(char ch)
> @@ -501,20 +485,18 @@ static int check_host_key(BDRVSSHState *s, SshHostKeyCheck *hkc, Error **errp)
>  
>  static int authenticate(BDRVSSHState *s, Error **errp)
>  {
> -    int r, ret;
> +    int r;
>      int method;
>  
>      /* Try to authenticate with the "none" method. */
>      r = ssh_userauth_none(s->session, NULL);
>      if (r == SSH_AUTH_ERROR) {
> -        ret = -EPERM;
>          session_error_setg(errp, s, "failed to authenticate using none "
>                                      "authentication");
> -        goto out;
> +        return -EPERM;
>      } else if (r == SSH_AUTH_SUCCESS) {
>          /* Authenticated! */
> -        ret = 0;
> -        goto out;
> +        return 0;
>      }
>  
>      method = ssh_userauth_list(s->session, NULL);
> @@ -527,23 +509,18 @@ static int authenticate(BDRVSSHState *s, Error **errp)
>      if (method & SSH_AUTH_METHOD_PUBLICKEY) {
>          r = ssh_userauth_publickey_auto(s->session, NULL, NULL);
>          if (r == SSH_AUTH_ERROR) {
> -            ret = -EINVAL;
>              session_error_setg(errp, s, "failed to authenticate using "
>                                          "publickey authentication");
> -            goto out;
> +            return -EINVAL;
>          } else if (r == SSH_AUTH_SUCCESS) {
>              /* Authenticated! */
> -            ret = 0;
> -            goto out;
> +            return 0;
>          }
>      }
>  
> -    ret = -EPERM;
>      error_setg(errp, "failed to authenticate using publickey authentication "
>                 "and the identities held by your ssh-agent");
> -
> - out:
> -    return ret;
> +    return -EPERM;
>  }
>  
>  static QemuOptsList ssh_runtime_opts = {

I agree that the code is functionality the same after this change.
Don't know whether or not one style or the other is preferred by qemu,
but in any case:

Reviewed-by: Richard W.M. Jones <rjones@redhat.com>

Rich.
diff mbox series

Patch

diff --git a/block/ssh.c b/block/ssh.c
index b4375cf7d2..e0c56d002a 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -276,7 +276,6 @@  static void ssh_parse_filename(const char *filename, QDict *options,
 
 static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
 {
-    int ret;
 #ifdef HAVE_LIBSSH_0_8
     enum ssh_known_hosts_e state;
     int r;
@@ -295,7 +294,6 @@  static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
         trace_ssh_check_host_key_knownhosts();
         break;
     case SSH_KNOWN_HOSTS_CHANGED:
-        ret = -EINVAL;
         r = ssh_get_server_publickey(s->session, &pubkey);
         if (r == 0) {
             r = ssh_get_publickey_hash(pubkey, SSH_PUBLICKEY_HASH_SHA256,
@@ -320,28 +318,23 @@  static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
                        "host key does not match the one in known_hosts; this "
                        "may be a possible attack");
         }
-        goto out;
+        return -EINVAL;
     case SSH_KNOWN_HOSTS_OTHER:
-        ret = -EINVAL;
         error_setg(errp,
                    "host key for this server not found, another type exists");
-        goto out;
+        return -EINVAL;
     case SSH_KNOWN_HOSTS_UNKNOWN:
-        ret = -EINVAL;
         error_setg(errp, "no host key was found in known_hosts");
-        goto out;
+        return -EINVAL;
     case SSH_KNOWN_HOSTS_NOT_FOUND:
-        ret = -ENOENT;
         error_setg(errp, "known_hosts file not found");
-        goto out;
+        return -ENOENT;
     case SSH_KNOWN_HOSTS_ERROR:
-        ret = -EINVAL;
         error_setg(errp, "error while checking the host");
-        goto out;
+        return -EINVAL;
     default:
-        ret = -EINVAL;
         error_setg(errp, "error while checking for known server (%d)", state);
-        goto out;
+        return -EINVAL;
     }
 #else /* !HAVE_LIBSSH_0_8 */
     int state;
@@ -355,40 +348,31 @@  static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
         trace_ssh_check_host_key_knownhosts();
         break;
     case SSH_SERVER_KNOWN_CHANGED:
-        ret = -EINVAL;
         error_setg(errp,
                    "host key does not match the one in known_hosts; this "
                    "may be a possible attack");
-        goto out;
+        return -EINVAL;
     case SSH_SERVER_FOUND_OTHER:
-        ret = -EINVAL;
         error_setg(errp,
                    "host key for this server not found, another type exists");
-        goto out;
+        return -EINVAL;
     case SSH_SERVER_FILE_NOT_FOUND:
-        ret = -ENOENT;
         error_setg(errp, "known_hosts file not found");
-        goto out;
+        return -ENOENT;
     case SSH_SERVER_NOT_KNOWN:
-        ret = -EINVAL;
         error_setg(errp, "no host key was found in known_hosts");
-        goto out;
+        return -EINVAL;
     case SSH_SERVER_ERROR:
-        ret = -EINVAL;
         error_setg(errp, "server error");
-        goto out;
+        return -EINVAL;
     default:
-        ret = -EINVAL;
         error_setg(errp, "error while checking for known server (%d)", state);
-        goto out;
+        return -EINVAL;
     }
 #endif /* !HAVE_LIBSSH_0_8 */
 
     /* known_hosts checking successful. */
-    ret = 0;
-
- out:
-    return ret;
+    return 0;
 }
 
 static unsigned hex2decimal(char ch)
@@ -501,20 +485,18 @@  static int check_host_key(BDRVSSHState *s, SshHostKeyCheck *hkc, Error **errp)
 
 static int authenticate(BDRVSSHState *s, Error **errp)
 {
-    int r, ret;
+    int r;
     int method;
 
     /* Try to authenticate with the "none" method. */
     r = ssh_userauth_none(s->session, NULL);
     if (r == SSH_AUTH_ERROR) {
-        ret = -EPERM;
         session_error_setg(errp, s, "failed to authenticate using none "
                                     "authentication");
-        goto out;
+        return -EPERM;
     } else if (r == SSH_AUTH_SUCCESS) {
         /* Authenticated! */
-        ret = 0;
-        goto out;
+        return 0;
     }
 
     method = ssh_userauth_list(s->session, NULL);
@@ -527,23 +509,18 @@  static int authenticate(BDRVSSHState *s, Error **errp)
     if (method & SSH_AUTH_METHOD_PUBLICKEY) {
         r = ssh_userauth_publickey_auto(s->session, NULL, NULL);
         if (r == SSH_AUTH_ERROR) {
-            ret = -EINVAL;
             session_error_setg(errp, s, "failed to authenticate using "
                                         "publickey authentication");
-            goto out;
+            return -EINVAL;
         } else if (r == SSH_AUTH_SUCCESS) {
             /* Authenticated! */
-            ret = 0;
-            goto out;
+            return 0;
         }
     }
 
-    ret = -EPERM;
     error_setg(errp, "failed to authenticate using publickey authentication "
                "and the identities held by your ssh-agent");
-
- out:
-    return ret;
+    return -EPERM;
 }
 
 static QemuOptsList ssh_runtime_opts = {