From 1dfac34651aa54614904568aed59e3cb3a2fb93a Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Sat, 29 Dec 2012 19:54:43 +0100 Subject: [PATCH] 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). --- src/daemon/lldpd.c | 4 ++-- src/lib/atom-private.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) 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; -- 2.39.5