From: Felix Fietkau Date: Thu, 4 May 2017 14:21:17 +0000 (+0200) Subject: utils: replace sprintf use with snprintf to avoid overflows X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e06e5376e1a2d70de256fe9da0ea78d2a7695a98;p=oweals%2Ffirewall3.git utils: replace sprintf use with snprintf to avoid overflows Signed-off-by: Felix Fietkau --- diff --git a/utils.c b/utils.c index 537c629..875a141 100644 --- a/utils.c +++ b/utils.c @@ -485,18 +485,21 @@ write_zone_uci(struct uci_context *ctx, struct fw3_zone *z, fw3_foreach(dev, &z->devices) { + char *ep; + if (!dev) continue; p = buf; + ep = buf + sizeof(buf); if (dev->invert) - p += sprintf(p, "!"); + p += snprintf(p, ep - p, "!"); if (*dev->network) - p += sprintf(p, "%s@%s", dev->name, dev->network); + p += snprintf(p, ep - p, "%s@%s", dev->name, dev->network); else - p += sprintf(p, "%s", dev->name); + p += snprintf(p, ep - p, "%s", dev->name); ptr.value = buf; uci_add_list(ctx, &ptr);