gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 202/219: ssh: move variable declaration to where it


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 202/219: ssh: move variable declaration to where it's used
Date: Wed, 22 May 2019 19:19:01 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit 320cec284d142e67cdf3f6c76f3851449991d87f
Author: Marcel Raad <address@hidden>
AuthorDate: Sun May 12 14:30:03 2019 +0200

    ssh: move variable declaration to where it's used
    
    This way, we need only one call to free.
    
    Closes https://github.com/curl/curl/pull/3873
---
 lib/ssh.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/lib/ssh.c b/lib/ssh.c
index 320f4304c..e8b8ed61a 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -733,18 +733,17 @@ static CURLcode ssh_statemach_act(struct connectdata 
*conn, bool *block)
 
       if((data->set.ssh_auth_types & CURLSSH_AUTH_PUBLICKEY) &&
          (strstr(sshc->authlist, "publickey") != NULL)) {
-        char *home = NULL;
         bool out_of_memory = FALSE;
 
         sshc->rsa_pub = sshc->rsa = NULL;
 
-        /* To ponder about: should really the lib be messing about with the
-           HOME environment variable etc? */
-        home = curl_getenv("HOME");
-
         if(data->set.str[STRING_SSH_PRIVATE_KEY])
           sshc->rsa = strdup(data->set.str[STRING_SSH_PRIVATE_KEY]);
         else {
+          /* To ponder about: should really the lib be messing about with the
+             HOME environment variable etc? */
+          char *home = curl_getenv("HOME");
+
           /* If no private key file is specified, try some common paths. */
           if(home) {
             /* Try ~/.ssh first. */
@@ -760,6 +759,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, 
bool *block)
                 Curl_safefree(sshc->rsa);
               }
             }
+            free(home);
           }
           if(!out_of_memory && !sshc->rsa) {
             /* Nothing found; try the current dir. */
@@ -791,7 +791,6 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, 
bool *block)
         }
 
         if(out_of_memory || sshc->rsa == NULL) {
-          free(home);
           Curl_safefree(sshc->rsa);
           Curl_safefree(sshc->rsa_pub);
           state(conn, SSH_SESSION_FREE);
@@ -803,8 +802,6 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, 
bool *block)
         if(!sshc->passphrase)
           sshc->passphrase = "";
 
-        free(home);
-
         if(sshc->rsa_pub)
           infof(data, "Using SSH public key file '%s'\n", sshc->rsa_pub);
         infof(data, "Using SSH private key file '%s'\n", sshc->rsa);

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]