diff options
| author | Nathaniel McCallum <npmccallum@redhat.com> | 2012-10-12 10:30:09 -0400 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2012-10-12 11:44:14 -0400 |
| commit | 816c7b59c3869e004d4ad150c7f04d026bb42177 (patch) | |
| tree | 668d486bc8542aaa04e2455f9694adffa3d84ae2 /src | |
| parent | 4f5947357a2cf152196f8a0af385a41a1d7720f1 (diff) | |
| download | krb5-816c7b59c3869e004d4ad150c7f04d026bb42177.tar.gz krb5-816c7b59c3869e004d4ad150c7f04d026bb42177.tar.xz krb5-816c7b59c3869e004d4ad150c7f04d026bb42177.zip | |
Allow null inputs to response item functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/krb5/krb/response_items.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/lib/krb5/krb/response_items.c b/src/lib/krb5/krb/response_items.c index 243df48d0d..606d4f34c3 100644 --- a/src/lib/krb5/krb/response_items.c +++ b/src/lib/krb5/krb/response_items.c @@ -53,6 +53,9 @@ k5_response_items_reset(k5_response_items *ri) { size_t i; + if (ri == NULL) + return; + for (i = 0; i < ri->count; i++) free(ri->questions[i]); free(ri->questions); @@ -74,12 +77,14 @@ k5_response_items_reset(k5_response_items *ri) krb5_boolean k5_response_items_empty(const k5_response_items *ri) { - return ri->count == 0; + return ri == NULL ? TRUE : ri->count == 0; } const char * const * k5_response_items_list_questions(const k5_response_items *ri) { + if (ri == NULL) + return NULL; return (const char * const *)ri->questions; } @@ -88,6 +93,9 @@ find_question(const k5_response_items *ri, const char *question) { size_t i; + if (ri == NULL) + return -1; + for (i = 0; i < ri->count; i++) { if (strcmp(ri->questions[i], question) == 0) return i; @@ -101,8 +109,12 @@ push_question(k5_response_items *ri, const char *question, const char *challenge) { char **tmp; - const size_t size = sizeof(char*) * (ri->count + 2); + size_t size; + + if (ri == NULL) + return EINVAL; + size = sizeof(char *) * (ri->count + 2); tmp = realloc(ri->questions, size); if (tmp == NULL) return ENOMEM; |
