]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
options: Ensure that an overly long bitflag string does not crash (#576)
authorRoy Marples <roy@marples.name>
Tue, 30 Dec 2025 21:36:24 +0000 (21:36 +0000)
committerGitHub <noreply@github.com>
Tue, 30 Dec 2025 21:36:24 +0000 (21:36 +0000)
Fixes #573.

src/if-options.c

index 9ac9f0b8f3f309424c9b9c539393469a45416929..b55e65d6c97dd7383144122696f9b743aaaf03bb 100644 (file)
@@ -2130,6 +2130,10 @@ err_sla:
                ndop->var = np;
                if (bp) {
                        dl = strlen(bp);
+                       if (dl > sizeof(ndop->bitflags)) {
+                               logwarnx("bitflag string too long %s", bp);
+                               dl = sizeof(ndop->bitflags);
+                       }
                        memcpy(ndop->bitflags, bp, dl);
                        memset(ndop->bitflags + dl, 0,
                            sizeof(ndop->bitflags) - dl);