net/memif: fix build with gcc 9.1
authorJerin Jacob <jerinj@marvell.com>
Wed, 7 Aug 2019 03:11:34 +0000 (08:41 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 7 Aug 2019 08:21:33 +0000 (10:21 +0200)
gcc-9 is stricter on NULL arguments for printf.
Fix the following build error by avoiding NULL argument to printf.

In file included from drivers/net/memif/memif_socket.c:26:
In function 'memif_socket_create',
inlined from 'memif_socket_init' at net/memif/memif_socket.c:965:12:
net/memif/rte_eth_memif.h:35:2: error:
'%s' directive argument is null [-Werror=format-overflow=]
   35 |  rte_log(RTE_LOG_ ## level, memif_logtype, \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   36 |   "%s(): " fmt "\n", __func__, ##args)
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD")

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
drivers/net/memif/memif_socket.c

index 137033f..6740e34 100644 (file)
@@ -918,7 +918,8 @@ memif_socket_create(struct pmd_internals *pmd, char *key, uint8_t listener)
 
  error:
        MIF_LOG(ERR, "%s: Failed to setup socket %s: %s",
-               rte_vdev_device_name(pmd->vdev), key, strerror(errno));
+               rte_vdev_device_name(pmd->vdev) ?
+               rte_vdev_device_name(pmd->vdev) : "NULL", key, strerror(errno));
        if (sock != NULL)
                rte_free(sock);
        if (sockfd >= 0)