Memory leak fixes on exit
authorEzra Peisach <epeisach@mit.edu>
Wed, 18 Oct 2006 02:54:05 +0000 (02:54 +0000)
committerEzra Peisach <epeisach@mit.edu>
Wed, 18 Oct 2006 02:54:05 +0000 (02:54 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18727 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/sample/sclient/sclient.c
src/appl/sample/sserver/sserver.c

index 46877211b0d75003d0d432f924a9f6383fb7d53e..6ad305a880c936ea57e67d288b4062032072a03a 100644 (file)
@@ -90,7 +90,7 @@ net_read(fd, buf, len)
 int
 main(int argc, char *argv[])
 {
-    struct addrinfo *ap, aihints;
+    struct addrinfo *ap, aihints, *apstart;
     int aierr;
     int sock;
     krb5_context context;
@@ -152,6 +152,7 @@ main(int argc, char *argv[])
     }
 
     /* set up the address of the foreign socket for connect() */
+    apstart = ap; /* For freeing later */
     for (sock = -1; ap && sock == -1; ap = ap->ai_next) {
        char abuf[NI_MAXHOST], pbuf[NI_MAXSERV];
        char mbuf[NI_MAXHOST + NI_MAXSERV + 64];
@@ -248,6 +249,7 @@ main(int argc, char *argv[])
        com_err(argv[0], 0, "no error or reply from sendauth!");
        exit(1);
     }
+    freeaddrinfo(apstart);
     krb5_free_context(context);
     exit(0);
 }
index 979b0ffd478e1055599fd83ed3eb35ebd9e1127e..4bbcdda2df428c3b97a256125fbfbe6dce79a326 100644 (file)
@@ -231,6 +231,11 @@ main(argc, argv)
        syslog(LOG_ERR, "%m: while writing data to client");
        exit(1);
     }
+
+    krb5_free_ticket(context, ticket);
+    if(keytab)
+      krb5_kt_close(context, keytab);
+    krb5_free_principal(context, server);
     krb5_auth_con_free(context, auth_context);
     krb5_free_context(context);
     exit(0);