diff options
author | Tomas Kuthan <tkuthan@gmail.com> | 2015-09-30 15:18:05 +0200 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2015-12-02 14:36:14 -0500 |
commit | 6b6ca89cd5ad72fe1c388c6692daed8b7ad4f459 (patch) | |
tree | 47a3ef9dbd38890e466dfb84d9b85342691b57e5 | |
parent | 3de8c2cda58517b0b979fa4b328b61bace4d1492 (diff) | |
download | krb5-6b6ca89cd5ad72fe1c388c6692daed8b7ad4f459.zip krb5-6b6ca89cd5ad72fe1c388c6692daed8b7ad4f459.tar.gz krb5-6b6ca89cd5ad72fe1c388c6692daed8b7ad4f459.tar.bz2 |
Check output params on GSS OID set functions
Add sanity checks for the output parameters of
generic_gss_create_empty_oid_set() and
generic_gss_add_oid_set_member(), which are used directly by the API
functions gss_create_empty_oid_set() and gss_add_oid_set_member().
[ghudson@mit.edu: edit commit message]
(cherry picked from commit c9e035794caa784b6cdf416e2b3f1d641d011390)
ticket: 8294 (new)
version_fixed: 1.13
status: resolved
-rw-r--r-- | src/lib/gssapi/generic/oid_ops.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/gssapi/generic/oid_ops.c b/src/lib/gssapi/generic/oid_ops.c index 5ad02fc..6e294b9 100644 --- a/src/lib/gssapi/generic/oid_ops.c +++ b/src/lib/gssapi/generic/oid_ops.c @@ -137,6 +137,9 @@ generic_gss_create_empty_oid_set(OM_uint32 *minor_status, gss_OID_set *oid_set) { *minor_status = 0; + if (oid_set == NULL) + return GSS_S_CALL_INACCESSIBLE_WRITE; + if ((*oid_set = (gss_OID_set) gssalloc_malloc(sizeof(gss_OID_set_desc)))) { memset(*oid_set, 0, sizeof(gss_OID_set_desc)); return(GSS_S_COMPLETE); @@ -161,6 +164,9 @@ generic_gss_add_oid_set_member(OM_uint32 *minor_status, member_oid->elements == NULL) return (GSS_S_CALL_INACCESSIBLE_READ); + if (oid_set == NULL) + return GSS_S_CALL_INACCESSIBLE_WRITE; + elist = (*oid_set)->elements; /* Get an enlarged copy of the array */ if (((*oid_set)->elements = (gss_OID) gssalloc_malloc(((*oid_set)->count+1) * |