From 0aa14ed8f56cda4135766471d32755392f92bda7 Mon Sep 17 00:00:00 2001 From: Jon Loeliger Date: Tue, 27 Feb 2018 13:58:47 -0600 Subject: [PATCH] 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 --- src/plugins/memif/memif_test.c | 5 ++--- 1 file 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); -- 2.16.6