summaryrefslogtreecommitdiff
path: root/source4/heimdal/lib/gssapi/mech/context.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/heimdal/lib/gssapi/mech/context.c')
-rw-r--r--source4/heimdal/lib/gssapi/mech/context.c6
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;
}
}