--- 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