summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNathaniel McCallum <npmccallum@redhat.com>2012-10-12 10:30:09 -0400
committerGreg Hudson <ghudson@mit.edu>2012-10-12 11:44:14 -0400
commit816c7b59c3869e004d4ad150c7f04d026bb42177 (patch)
tree668d486bc8542aaa04e2455f9694adffa3d84ae2 /src
parent4f5947357a2cf152196f8a0af385a41a1d7720f1 (diff)
downloadkrb5-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.c16
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;