File gssapi-null-deref.dif of Package cyrus-sasl
Index: cyrus-sasl-2.1.25/plugins/gssapi.c
===================================================================
--- cyrus-sasl-2.1.25.orig/plugins/gssapi.c
+++ cyrus-sasl-2.1.25/plugins/gssapi.c
@@ -370,7 +370,7 @@ sasl_gss_encode(void *context, const str
}
if (output_token->value && output) {
- unsigned char * p = (unsigned char *) text->encode_buf;
+ unsigned char * p;
ret = _plug_buf_alloc(text->utils,
&(text->encode_buf),
@@ -384,6 +384,8 @@ sasl_gss_encode(void *context, const str
return ret;
}
+ p = (unsigned char *) text->encode_buf;
+
p[0] = (output_token->length>>24) & 0xFF;
p[1] = (output_token->length>>16) & 0xFF;
p[2] = (output_token->length>>8) & 0xFF;