--- neon-0.27.0/src/ne_auth.c.gssapi +++ neon-0.27.0/src/ne_auth.c @@ -532,7 +532,7 @@ static int verify_negotiate_response(str char *duphdr = ne_strdup(hdr); char *sep, *ptr = strchr(duphdr, ' '); int ret; - ne_buffer *errmsg; + ne_buffer *errmsg = NULL; if (strncmp(hdr, "Negotiate", ptr - duphdr) != 0) { ne_set_error(sess->sess, _("Negotiate response verification failed: " @@ -560,8 +560,10 @@ static int verify_negotiate_response(str ne_set_error(sess->sess, _("Negotiate response verification failure: %s"), errmsg->data); } - ne_buffer_destroy(errmsg); + + if (errmsg) ne_buffer_destroy(errmsg); ne_free(duphdr); + return ret ? NE_ERROR : NE_OK; } #endif