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>
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);