From 77619e9b18c1f4370ee1fd16c1d383d3005602c5 Mon Sep 17 00:00:00 2001 From: Polynomialdivision Date: Tue, 9 Jun 2020 12:52:05 +0200 Subject: [PATCH] ubus: use strncpy and add backwards compatibility --- src/utils/ubus.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/utils/ubus.c b/src/utils/ubus.c index 1889f13..a887cc5 100644 --- a/src/utils/ubus.c +++ b/src/utils/ubus.c @@ -1061,15 +1061,21 @@ int parse_to_clients(struct blob_attr *msg, int do_kick, uint32_t id) { if (tb[CLIENT_TABLE_NEIGHBOR]) { - strcpy(ap_entry.neighbor_report, blobmsg_get_string(tb[CLIENT_TABLE_NEIGHBOR])); + strncpy(ap_entry.neighbor_report, blobmsg_get_string(tb[CLIENT_TABLE_NEIGHBOR]), NEIGHBOR_REPORT_LEN); + } else { + ap_entry.neighbor_report[0] = '\0'; } if (tb[CLIENT_TABLE_IFACE]) { - strcpy(ap_entry.iface, blobmsg_get_string(tb[CLIENT_TABLE_IFACE])); + strncpy(ap_entry.iface, blobmsg_get_string(tb[CLIENT_TABLE_IFACE]), MAX_INTERFACE_NAME); + } else { + ap_entry.iface[0] = '\0'; } if (tb[CLIENT_TABLE_HOSTNAME]) { - strcpy(ap_entry.hostname, blobmsg_get_string(tb[CLIENT_TABLE_HOSTNAME])); + strncpy(ap_entry.hostname, blobmsg_get_string(tb[CLIENT_TABLE_HOSTNAME]), HOST_NAME_MAX); + } else { + ap_entry.hostname[0] = '\0'; } insert_to_ap_array(ap_entry);