- djm@cvs.openbsd.org 2006/03/19 07:41:30
[sshconnect2.c]
memory leaks detected by Coverity via elad AT netbsd.org;
deraadt@ ok
diff --git a/sshconnect2.c b/sshconnect2.c
index b7aa96e..f8d2148 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -513,8 +513,10 @@
}
}
- if (!ok)
+ if (!ok) {
+ ssh_gssapi_delete_ctx(&gssctxt);
return 0;
+ }
authctxt->methoddata=(void *)gssctxt;
@@ -1330,6 +1332,7 @@
if (p == NULL) {
error("userauth_hostbased: cannot get local ipaddr/name");
key_free(private);
+ xfree(blob);
return 0;
}
len = strlen(p) + 2;
@@ -1368,6 +1371,7 @@
error("key_sign failed");
xfree(chost);
xfree(pkalg);
+ xfree(blob);
return 0;
}
packet_start(SSH2_MSG_USERAUTH_REQUEST);
@@ -1383,6 +1387,7 @@
xfree(signature);
xfree(chost);
xfree(pkalg);
+ xfree(blob);
packet_send();
return 1;