From 7aca93015c380443be0e689f52ccebe73b778712 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Wed, 28 Jul 1999 03:22:50 +0000 Subject: [PATCH] (import_hostbased_name): set minor_status git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6614 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/import_name.c | 8 ++++++-- lib/gssapi/krb5/import_name.c | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/gssapi/import_name.c b/lib/gssapi/import_name.c index 784149ecd..95aa7688e 100644 --- a/lib/gssapi/import_name.c +++ b/lib/gssapi/import_name.c @@ -80,8 +80,10 @@ import_hostbased_name (OM_uint32 *minor_status, char local_hostname[MAXHOSTNAMELEN]; tmp = malloc (input_name_buffer->length + 1); - if (tmp == NULL) + if (tmp == NULL) { + *minor_status = ENOMEM; return GSS_S_FAILURE; + } memcpy (tmp, input_name_buffer->value, input_name_buffer->length); @@ -93,6 +95,7 @@ import_hostbased_name (OM_uint32 *minor_status, host = p + 1; } else { if (gethostname(local_hostname, sizeof(local_hostname)) < 0) { + *minor_status = errno; free (tmp); return GSS_S_FAILURE; } @@ -105,9 +108,10 @@ import_hostbased_name (OM_uint32 *minor_status, KRB5_NT_SRV_HST, output_name); free (tmp); + *minor_status = kerr; if (kerr == 0) return GSS_S_COMPLETE; - else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED) + else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED) return GSS_S_BAD_NAME; else return GSS_S_FAILURE; diff --git a/lib/gssapi/krb5/import_name.c b/lib/gssapi/krb5/import_name.c index 784149ecd..95aa7688e 100644 --- a/lib/gssapi/krb5/import_name.c +++ b/lib/gssapi/krb5/import_name.c @@ -80,8 +80,10 @@ import_hostbased_name (OM_uint32 *minor_status, char local_hostname[MAXHOSTNAMELEN]; tmp = malloc (input_name_buffer->length + 1); - if (tmp == NULL) + if (tmp == NULL) { + *minor_status = ENOMEM; return GSS_S_FAILURE; + } memcpy (tmp, input_name_buffer->value, input_name_buffer->length); @@ -93,6 +95,7 @@ import_hostbased_name (OM_uint32 *minor_status, host = p + 1; } else { if (gethostname(local_hostname, sizeof(local_hostname)) < 0) { + *minor_status = errno; free (tmp); return GSS_S_FAILURE; } @@ -105,9 +108,10 @@ import_hostbased_name (OM_uint32 *minor_status, KRB5_NT_SRV_HST, output_name); free (tmp); + *minor_status = kerr; if (kerr == 0) return GSS_S_COMPLETE; - else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED) + else if (kerr == KRB5_PARSE_ILLCHAR || kerr == KRB5_PARSE_MALFORMED) return GSS_S_BAD_NAME; else return GSS_S_FAILURE;