summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1993-02-26 20:46:59 +0000
committerTheodore Tso <tytso@mit.edu>1993-02-26 20:46:59 +0000
commit6d38164014cbea8f5e72be2ee33544634bf87e5e (patch)
tree9c5ad4746b7d76a19454b1ea970bebfd34151ed4 /src/lib
parentb074990089d251b5190eb2d8c70a5d6d7e998e97 (diff)
downloadkrb5-6d38164014cbea8f5e72be2ee33544634bf87e5e.tar.gz
krb5-6d38164014cbea8f5e72be2ee33544634bf87e5e.tar.xz
krb5-6d38164014cbea8f5e72be2ee33544634bf87e5e.zip
In krb5_copy_addresses(), do the right thing if the passed address is NULL.
Lint cleanup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2507 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/krb/copy_addrs.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/krb5/krb/copy_addrs.c b/src/lib/krb5/krb/copy_addrs.c
index 3f85522b4e..6d5e3e37af 100644
--- a/src/lib/krb5/krb/copy_addrs.c
+++ b/src/lib/krb5/krb/copy_addrs.c
@@ -65,6 +65,11 @@ krb5_address ***outaddr;
krb5_address ** tempaddr;
register int nelems = 0;
+ if (!inaddr) {
+ *outaddr = 0;
+ return 0;
+ }
+
while (inaddr[nelems]) nelems++;
/* one more for a null terminated list */
@@ -106,7 +111,7 @@ krb5_address ***outaddr;
while (inaddr[nelems]) nelems++;
while (tempaddr2[norigelems]) norigelems++;
- tempaddr = realloc((char *)*outaddr,
+ tempaddr = (krb5_address **) realloc((char *)*outaddr,
(nelems + norigelems + 1) * sizeof(*tempaddr));
if (!tempaddr)
return ENOMEM;
@@ -130,7 +135,8 @@ krb5_address ***outaddr;
krb5_free_address(tempaddr[norigelems + nelems]);
/* Try to allocate a smaller amount of memory for *outaddr. */
- tempaddr = realloc((char *)tempaddr, (norigelems + 1) * sizeof(*tempaddr));
+ tempaddr = (krb5_address **) realloc((char *)tempaddr,
+ (norigelems + 1) * sizeof(*tempaddr));
if (tempaddr)
*outaddr = tempaddr;
return retval;