]> jfr.im git - irc/evilnet/x3.git/commitdiff
Possible fix for crash in SASL code
authorMatthew Beeching <redacted>
Fri, 13 Dec 2013 08:19:49 +0000 (08:19 +0000)
committerMatthew Beeching <redacted>
Fri, 13 Dec 2013 08:19:49 +0000 (08:19 +0000)
src/nickserv.c

index 4bcfdb8dd6c504ec7dbb159ebca76f12614f5bb9..8a73ede5cf63257518ca0a34d60eed8a1d306ce3 100644 (file)
@@ -5547,9 +5547,11 @@ sasl_delete_session(struct SASLSession *session)
 
     if (session->buf)
         free(session->buf);
 
     if (session->buf)
         free(session->buf);
+    session->buf = NULL;
 
     if (session->sslclifp)
         free(session->sslclifp);
 
     if (session->sslclifp)
         free(session->sslclifp);
+    session->sslclifp = NULL;
 
     if (session->next)
         session->next->prev = session->prev;
 
     if (session->next)
         session->next->prev = session->prev;
@@ -5756,7 +5758,8 @@ handle_sasl_input(struct server* source ,const char *uid, const char *subcmd, co
     {
         sasl_packet(sess);
         sess->buflen = 0;
     {
         sasl_packet(sess);
         sess->buflen = 0;
-        free(sess->buf);
+        if (sess->buf != NULL)
+          free(sess->buf);
         sess->buf = sess->p = NULL;
     }
 }
         sess->buf = sess->p = NULL;
     }
 }