Sat Feb 3 22:37:55 1996 Mark Eichin <eichin@cygnus.com>
authorMark Eichin <eichin@mit.edu>
Sat, 24 Feb 1996 00:31:42 +0000 (00:31 +0000)
committerMark Eichin <eichin@mit.edu>
Sat, 24 Feb 1996 00:31:42 +0000 (00:31 +0000)
* network.c (add_port): sunos realloc doesn't handle a NULL
pointer, so protect with a macro.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7508 dc483132-0cff-0310-8789-dd5450dbe970

src/kdc/ChangeLog
src/kdc/network.c

index 6b62634e6eaf1e2764c235b15c3013a74b835d19..61be8fbd7d35e7160edae3f67c7817370d0d2c2b 100644 (file)
@@ -1,3 +1,8 @@
+Sat Feb  3 22:37:55 1996  Mark Eichin  <eichin@cygnus.com>
+
+       * network.c (add_port): sunos realloc doesn't handle a NULL
+       pointer, so protect with a macro.
+
 Sat Feb 10 02:46:27 1996  Mark Eichin  <eichin@cygnus.com>
 
        * main.c (initialize_realms): look for [kdc] profile=path for
index 7f27ee58bde98752083dd3fc877fbc53f66647ba..e098761bde7019a3fa5b26e52e48646a4fc1d6ca 100644 (file)
@@ -49,6 +49,8 @@ static int max_udp_ports = 0;
 static fd_set select_fds;
 static int select_nfds;
 
+#define safe_realloc(p,n) ((p)?(realloc(p,n)):(malloc(n)))
+
 static krb5_error_code add_port(port)
      u_short port;
 {
@@ -64,12 +66,12 @@ static krb5_error_code add_port(port)
     
     if (n_udp_ports >= max_udp_ports) {
        new_max = max_udp_ports + 10;
-       new_fds = realloc(udp_port_fds, new_max * sizeof(int));
+       new_fds = safe_realloc(udp_port_fds, new_max * sizeof(int));
        if (new_fds == 0)
            return ENOMEM;
        udp_port_fds = new_fds;
 
-       new_ports = realloc(udp_port_nums, new_max * sizeof(u_short));
+       new_ports = safe_realloc(udp_port_nums, new_max * sizeof(u_short));
        if (new_ports == 0)
            return ENOMEM;
        udp_port_nums = new_ports;
@@ -80,7 +82,7 @@ static krb5_error_code add_port(port)
     udp_port_nums[n_udp_ports++] = port;
     return 0;
 }
-
+#undef safe_realloc
 
 krb5_error_code
 setup_network(prog)