diff options
Diffstat (limited to 'source4/heimdal/lib/gssapi/mech/context.c')
-rw-r--r-- | source4/heimdal/lib/gssapi/mech/context.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source4/heimdal/lib/gssapi/mech/context.c b/source4/heimdal/lib/gssapi/mech/context.c index 96e5edc32b..5ea0ac466b 100644 --- a/source4/heimdal/lib/gssapi/mech/context.c +++ b/source4/heimdal/lib/gssapi/mech/context.c @@ -85,17 +85,19 @@ _gss_mg_get_error(const gss_OID mech, OM_uint32 type, case GSS_C_GSS_CODE: { if (value != mg->maj_stat || mg->maj_error.length == 0) break; - string->value = malloc(mg->maj_error.length); + string->value = malloc(mg->maj_error.length + 1); string->length = mg->maj_error.length; memcpy(string->value, mg->maj_error.value, mg->maj_error.length); + ((char *) string->value)[string->length] = '\0'; return GSS_S_COMPLETE; } case GSS_C_MECH_CODE: { if (value != mg->min_stat || mg->min_error.length == 0) break; - string->value = malloc(mg->min_error.length); + string->value = malloc(mg->min_error.length + 1); string->length = mg->min_error.length; memcpy(string->value, mg->min_error.value, mg->min_error.length); + ((char *) string->value)[string->length] = '\0'; return GSS_S_COMPLETE; } } |