From 4606612abe42ac7011d9daaf0ddd23bae8887b6b Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Thu, 17 Oct 2024 14:34:10 +0200 Subject: [PATCH] lib: remove `strncpy()` use `checkpatch` has sufficiently annoyed me to fix this. Includes free overflow guard in CSV code. Signed-off-by: David Lamparter --- lib/csv.c | 2 +- lib/ptm_lib.c | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/csv.c b/lib/csv.c index fdd89a0c7a..2cd0092f0a 100644 --- a/lib/csv.c +++ b/lib/csv.c @@ -573,7 +573,7 @@ void csv_decode(csv_t *csv, char *inbuf) log_error("field str malloc failed\n"); return; } - strncpy(rec->record, buf, pos - buf + 1); + memcpy(rec->record, buf, MIN(pos - buf + 1, csv->buflen - 1)); } rec->rec_len = pos - buf + 1; /* decode record into fields */ diff --git a/lib/ptm_lib.c b/lib/ptm_lib.c index 737c60775f..a2ef045c7a 100644 --- a/lib/ptm_lib.c +++ b/lib/ptm_lib.c @@ -3,9 +3,7 @@ * Copyright (C) 2015 Cumulus Networks, Inc. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#include #include #include @@ -450,7 +448,7 @@ ptm_lib_handle_t *ptm_lib_register(char *client_name, ptm_cmd_cb cmd_cb, hdl = calloc(1, sizeof(*hdl)); if (hdl) { - strncpy(hdl->client_name, client_name, PTMLIB_MAXNAMELEN - 1); + strlcpy(hdl->client_name, client_name, sizeof(hdl->client_name)); hdl->cmd_cb = cmd_cb; hdl->notify_cb = notify_cb; hdl->response_cb = response_cb;