From: Vincent Bernat Date: Sat, 29 Dec 2012 18:54:43 +0000 (+0100) Subject: lib: use strlcpy and snprintf instead of strcpy and sprintf X-Git-Tag: 0.7.0~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1dfac34651aa54614904568aed59e3cb3a2fb93a;p=thirdparty%2Flldpd.git lib: use strlcpy and snprintf instead of strcpy and sprintf Even if we used strcpy and sprintf safely, use strlcpy and snprintf to show that we know what we do (and make OpenBSD linker happy). --- diff --git a/src/daemon/lldpd.c b/src/daemon/lldpd.c index dd9124d7..39f2d8b2 100644 --- a/src/daemon/lldpd.c +++ b/src/daemon/lldpd.c @@ -667,8 +667,8 @@ lldpd_hide_ports(struct lldpd *cfg, struct lldpd_hardware *hardware, int mask) { break; } if (buffer[0]) - strcat(buffer, ", "); - strcat(buffer, cfg->g_protocols[i].name); + strncat(buffer, ", ", 2); + strncat(buffer, cfg->g_protocols[i].name, strlen(cfg->g_protocols[i].name)); } } log_debug("smartfilter", "%s: %s: %d visible neighbors (out of %d)", diff --git a/src/lib/atom-private.c b/src/lib/atom-private.c index bfb0b099..185240f9 100644 --- a/src/lib/atom-private.c +++ b/src/lib/atom-private.c @@ -2146,7 +2146,7 @@ _lldpctl_atom_set_str_med_caelement(lldpctl_atom_t *atom, lldpctl_key_t key, if (strlen(value) > 250) goto bad; el->value = _lldpctl_alloc_in_atom(atom, strlen(value) + 1); if (el->value == NULL) return NULL; - strcpy((char*)el->value, value); + strlcpy((char*)el->value, value, strlen(value) + 1); el->len = strlen(value); return atom; default: @@ -2611,9 +2611,9 @@ _lldpctl_dump_in_atom(lldpctl_atom_t *atom, return NULL; for (i = 0; (i < size) && (max == 0 || i < max); i++) - sprintf(buffer + i * 3, "%02x%c", *(u_int8_t*)(input + i), sep); + snprintf(buffer + i * 3, 4, "%02x%c", *(u_int8_t*)(input + i), sep); if (max > 0 && size > max) - sprintf(buffer + i * 3, "%s", truncation); + snprintf(buffer + i * 3, sizeof(truncation) + 1, "%s", truncation); else *(buffer + i*3 - 1) = 0; return buffer;