gst: Use memcpy() instead of strncpy() where appropriate
authorEdward Hervey <edward@centricular.com>
Fri, 4 May 2018 07:29:22 +0000 (09:29 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Mon, 7 May 2018 15:05:36 +0000 (17:05 +0200)
strncpy() is assumed to be for strings so the compiler assumes that
it will need an extra byte for the string-terminaning NULL.

For cases where we know it's actually "binary" data, just copy it
with memcpy.

https://bugzilla.gnome.org/show_bug.cgi?id=795756

gst/gstregistrybinary.c
libs/gst/helpers/gst-ptp-helper.c

index ab7025437eb029512187d839a1ba993a0a4d43b2..2e6451b821cf08a5e4a9b39c4ada3b296a225db8 100644 (file)
@@ -336,7 +336,7 @@ gst_registry_binary_initialize_magic (GstBinaryRegistryMagic * m)
 {
   memset (m, 0, sizeof (GstBinaryRegistryMagic));
 
-  if (!strncpy (m->magic, GST_MAGIC_BINARY_REGISTRY_STR,
+  if (!memcpy (m->magic, GST_MAGIC_BINARY_REGISTRY_STR,
           GST_MAGIC_BINARY_REGISTRY_LEN)
       || !strncpy (m->version, GST_MAGIC_BINARY_VERSION_STR,
           GST_MAGIC_BINARY_VERSION_LEN)) {
index 423c4efd07b51b353c9c27f5c13dd629b2bbceb1..91a2570fac9b1dd817aa15c425643964a77f76b4 100644 (file)
@@ -317,7 +317,7 @@ setup_sockets (void)
       gchar **ptr = ifaces;
 
       while (*ptr) {
-        strncpy (ifr.ifr_name, *ptr, IFNAMSIZ);
+        memcpy (ifr.ifr_name, *ptr, IFNAMSIZ);
         if (ioctl (g_socket_get_fd (socket_event), SIOCGIFHWADDR, &ifr) == 0) {
           clock_id_array[0] = ifr.ifr_hwaddr.sa_data[0];
           clock_id_array[1] = ifr.ifr_hwaddr.sa_data[1];