]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Check for null *iter_p in profile_iterator()
authorGreg Hudson <ghudson@mit.edu>
Wed, 14 Jan 2015 18:10:39 +0000 (13:10 -0500)
committerTom Yu <tlyu@mit.edu>
Tue, 10 Feb 2015 02:26:40 +0000 (21:26 -0500)
In profile_iterator(), return PROF_MAGIC_ITERATOR if *iter_p is NULL,
instead of dereferencing a null pointer, as we did prior to 1.10.
Correct calling code will not trigger this case, but incorrect code
has been reported in the field.

(cherry picked from commit 9a343200d305e7c8df6e556d63afaee42194175f)

ticket: 8127 (new)
version_fixed: 1.12.3
status: resolved

src/util/profile/prof_get.c

index 3eba7872229c9a945b380cc816aa6f3e18f54e41..16a1762df1e02e16d455ae28be4afe0792fde47f 100644 (file)
@@ -579,7 +579,7 @@ profile_iterator(void **iter_p, char **ret_name, char **ret_value)
         *ret_name = NULL;
     if (ret_value)
         *ret_value = NULL;
-    if (iter->magic != PROF_MAGIC_ITERATOR)
+    if (iter == NULL || iter->magic != PROF_MAGIC_ITERATOR)
         return PROF_MAGIC_ITERATOR;
     profile = iter->profile;