]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Check output params on GSS OID set functions
authorTomas Kuthan <tkuthan@gmail.com>
Wed, 30 Sep 2015 13:18:05 +0000 (15:18 +0200)
committerGreg Hudson <ghudson@mit.edu>
Thu, 1 Oct 2015 18:26:39 +0000 (14:26 -0400)
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]

ticket: 8259 (new)
target_version: 1.14
tags: pullup

src/lib/gssapi/generic/oid_ops.c

index 5ad02fceca57b6d4471b195b8aeae93d7095e234..6e294b9bcf941cb4bc26db7b4bd53d59063f49fd 100644 (file)
@@ -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) *