]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix a potential segfault when reloading configurations.
authorRoy Marples <roy@marples.name>
Thu, 3 Jul 2014 10:07:35 +0000 (10:07 +0000)
committerRoy Marples <roy@marples.name>
Thu, 3 Jul 2014 10:07:35 +0000 (10:07 +0000)
Thanks to Eelco Dolstra for the patch.

dhcpcd.c

index 3322a271f25b8b655130db95c3982f1e7e7a5b87..294364cf272722e70c6980d38829df84535c8884 100644 (file)
--- a/dhcpcd.c
+++ b/dhcpcd.c
@@ -139,14 +139,14 @@ free_globals(struct dhcpcd_ctx *ctx)
        struct dhcp_opt *opt;
 
        if (ctx->ifac) {
-               for (ctx->ifac--; ctx->ifac >= 0; ctx->ifac--)
-                       free(ctx->ifav[ctx->ifac]);
+               for (; ctx->ifac > 0; ctx->ifac--)
+                       free(ctx->ifav[ctx->ifac - 1]);
                free(ctx->ifav);
                ctx->ifav = NULL;
        }
        if (ctx->ifdc) {
-               for (ctx->ifdc--; ctx->ifdc >= 0; ctx->ifdc--)
-                       free(ctx->ifdv[ctx->ifdc]);
+               for (; ctx->ifdc > 0; ctx->ifdc--)
+                       free(ctx->ifdv[ctx->ifdc - 1]);
                free(ctx->ifdv);
                ctx->ifdv = NULL;
        }