]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Fix a couple of memory leaks pointed out by Adam Bernstein.
authorBen Harris <bjh21@bjh21.me.uk>
Sat, 14 Jun 2003 18:27:10 +0000 (18:27 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Sat, 14 Jun 2003 18:27:10 +0000 (18:27 +0000)
[originally from svn r3262]

ssh.c
sshdh.c

diff --git a/ssh.c b/ssh.c
index ce57b22dabce2b6c028eec18e10c0ce238075b2f..16ceb013d8b5ba456bef10a8c18cec703c10d44f 100644 (file)
--- a/ssh.c
+++ b/ssh.c
@@ -2149,8 +2149,10 @@ static const char *connect_to_host(Ssh ssh, char *host, int port,
      */
     logeventf(ssh, "Looking up host \"%s\"", host);
     addr = name_lookup(host, port, realhost, &ssh->cfg);
-    if ((err = sk_addr_error(addr)) != NULL)
+    if ((err = sk_addr_error(addr)) != NULL) {
+       sk_addr_free(addr);
        return err;
+    }
 
     /*
      * Open socket.
@@ -2163,6 +2165,7 @@ static const char *connect_to_host(Ssh ssh, char *host, int port,
     ssh->fn = &fn_table;
     ssh->s = new_connection(addr, *realhost, port,
                            0, 1, nodelay, (Plug) ssh, &ssh->cfg);
+    sk_addr_free(addr);
     if ((err = sk_socket_error(ssh->s)) != NULL) {
        ssh->s = NULL;
        return err;
diff --git a/sshdh.c b/sshdh.c
index 27d5aab58c9b40930c0098e54763ff63d0008ed1..923518323365501eb6f0f90e485e91488c2e0e7f 100644 (file)
--- a/sshdh.c
+++ b/sshdh.c
@@ -140,6 +140,8 @@ Bignum dh_create_e(void *handle, int nbits)
        }
     } while (bignum_cmp(ctx->x, One) <= 0 || bignum_cmp(ctx->x, ctx->q) >= 0);
 
+    sfree(buf);
+
     /*
      * Done. Now compute e = g^x mod p.
      */