]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix a segfault and lease issue for no fork users.
authorRoy Marples <roy@marples.name>
Tue, 13 May 2008 14:37:01 +0000 (14:37 +0000)
committerRoy Marples <roy@marples.name>
Tue, 13 May 2008 14:37:01 +0000 (14:37 +0000)
client.c
configure.c

index bcd3b643558b39d9a7dc17ac94a9b749860c6d8c..960b690510809567dad2e3b347fa53d19aede4d1 100644 (file)
--- a/client.c
+++ b/client.c
@@ -455,7 +455,7 @@ client_setup(struct if_state *state, const struct options *options)
             options->options & DHCPCD_REQUEST ||
             options->options & DHCPCD_DAEMONISED))
        {
-               if (!get_old_lease(state, options))
+               if (get_old_lease(state, options) != 0)
                        return -1;
                state->timeout = 0;
 
index edfbc908d6d38088a956d0e4fbc72a27b4446b7e..0590202b8700974112a59ef240ff24b97dff0e05 100644 (file)
@@ -353,6 +353,7 @@ configure_routes(struct interface *iface, const struct dhcp_message *dhcp,
                else if (!(options->options & DHCPCD_DAEMONISED)) {
                        /* We can never have more than 255 / 4 routes,
                         * so 3 chars is plently */
+                       printf("foo\n");
                        if (*skipp)
                                *skipp++ = ',';
                        skipp += snprintf(skipp,
@@ -367,15 +368,16 @@ configure_routes(struct interface *iface, const struct dhcp_message *dhcp,
        iface->routes = nr;
 
 #ifdef THERE_IS_NO_FORK
-       if (*dhcpcd_skiproutes)
-               *skipp = '\0';
-       else {
-               free(dhcpcd_skiproutes);
-               dhcpcd_skiproutes = NULL;
+       if (dhcpcd_skiproutes) {
+               if (*dhcpcd_skiproutes)
+                       *skipp = '\0';
+               else {
+                       free(dhcpcd_skiproutes);
+                       dhcpcd_skiproutes = NULL;
+               }
        }
 #endif
 
-
        return retval;
 }