aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Loeliger <jdl@netgate.com>2018-02-27 13:58:47 -0600
committerDamjan Marion <dmarion.lists@gmail.com>2018-02-27 20:53:14 +0000
commit0aa14ed8f56cda4135766471d32755392f92bda7 (patch)
treecc1526b04a2d5fd3254f4cb5d188b8cd289885d4
parentb95bc05fce633096d6c6ec74b163ab92e3a39959 (diff)
memif: Fix a message initialization problem in VAT
The VAT calls to MEMIF_SOCKET_FILENAME_ADD_DEL erroneously cleared the message memory after the M() macro call and thus lost their message id. Don't do that. While in the neighborhood, prevent a string copy from referencing data that doesn't belong to the filename string. Change-Id: Ib4309608ed617ef4f193880ecf4a0b35fda65e51 Signed-off-by: Jon Loeliger <jdl@netgate.com>
-rw-r--r--src/plugins/memif/memif_test.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/plugins/memif/memif_test.c b/src/plugins/memif/memif_test.c
index b1d563218d9..510462ef6a8 100644
--- a/src/plugins/memif/memif_test.c
+++ b/src/plugins/memif/memif_test.c
@@ -164,11 +164,10 @@ api_memif_socket_filename_add_del (vat_main_t * vam)
M (MEMIF_SOCKET_FILENAME_ADD_DEL, mp);
- memset (mp, 0, sizeof (*mp));
mp->is_add = is_add;
mp->socket_id = htonl (socket_id);
- memcpy (mp->socket_filename,
- socket_filename, sizeof (mp->socket_filename) - 1);
+ strncpy ((char *) mp->socket_filename,
+ (char *) socket_filename, sizeof (mp->socket_filename) - 1);
vec_free (socket_filename);