set minor_status in some cases where it was not done
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9696 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997 Kungliga Tekniska H<>gskolan
|
||||
* Copyright (c) 1997 - 2001 Kungliga Tekniska H<>gskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
@@ -44,8 +44,10 @@ import_krb5_name (OM_uint32 *minor_status,
|
||||
char *tmp;
|
||||
|
||||
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);
|
||||
@@ -57,11 +59,14 @@ import_krb5_name (OM_uint32 *minor_status,
|
||||
free (tmp);
|
||||
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) {
|
||||
*minor_status = kerr;
|
||||
return GSS_S_BAD_NAME;
|
||||
else
|
||||
} else {
|
||||
*minor_status = kerr;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
static OM_uint32
|
||||
import_hostbased_name (OM_uint32 *minor_status,
|
||||
@@ -106,11 +111,14 @@ import_hostbased_name (OM_uint32 *minor_status,
|
||||
*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) {
|
||||
*minor_status = kerr;
|
||||
return GSS_S_BAD_NAME;
|
||||
else
|
||||
} else {
|
||||
*minor_status = kerr;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
OM_uint32 gss_import_name
|
||||
(OM_uint32 * minor_status,
|
||||
@@ -132,6 +140,8 @@ OM_uint32 gss_import_name
|
||||
return import_krb5_name (minor_status,
|
||||
input_name_buffer,
|
||||
output_name);
|
||||
else
|
||||
else {
|
||||
*minor_status = 0;
|
||||
return GSS_S_BAD_NAMETYPE;
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997 Kungliga Tekniska H<>gskolan
|
||||
* Copyright (c) 1997 - 2001 Kungliga Tekniska H<>gskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
@@ -44,8 +44,10 @@ import_krb5_name (OM_uint32 *minor_status,
|
||||
char *tmp;
|
||||
|
||||
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);
|
||||
@@ -57,11 +59,14 @@ import_krb5_name (OM_uint32 *minor_status,
|
||||
free (tmp);
|
||||
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) {
|
||||
*minor_status = kerr;
|
||||
return GSS_S_BAD_NAME;
|
||||
else
|
||||
} else {
|
||||
*minor_status = kerr;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
static OM_uint32
|
||||
import_hostbased_name (OM_uint32 *minor_status,
|
||||
@@ -106,11 +111,14 @@ import_hostbased_name (OM_uint32 *minor_status,
|
||||
*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) {
|
||||
*minor_status = kerr;
|
||||
return GSS_S_BAD_NAME;
|
||||
else
|
||||
} else {
|
||||
*minor_status = kerr;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
OM_uint32 gss_import_name
|
||||
(OM_uint32 * minor_status,
|
||||
@@ -132,6 +140,8 @@ OM_uint32 gss_import_name
|
||||
return import_krb5_name (minor_status,
|
||||
input_name_buffer,
|
||||
output_name);
|
||||
else
|
||||
else {
|
||||
*minor_status = 0;
|
||||
return GSS_S_BAD_NAMETYPE;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user