From 521aeecf1e41e8e34bb354cf51bfd37ff7a900c6 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Wed, 18 Sep 2019 17:25:27 +0900 Subject: logging: Fix the case of using socket_dir_cb which may return NULL. * src/logging.c (fun_writer): Fix for socket_dir_cb. GnuPG-bug-id: 4698 Signed-off-by: NIIBE Yutaka --- src/logging.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/logging.c') diff --git a/src/logging.c b/src/logging.c index 329982b..b6b727e 100644 --- a/src/logging.c +++ b/src/logging.c @@ -255,9 +255,10 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size) #ifndef HAVE_W32_SYSTEM memset (&srvr_addr, 0, sizeof srvr_addr); srvr_addr_un.sun_family = af; - if (!*name && (name = socket_dir_cb ()) && *name) + if (!*name) { - if (strlen (name) + 7 < sizeof (srvr_addr_un.sun_path)-1) + if ((name = socket_dir_cb ()) && *name + && strlen (name) + 7 < sizeof (srvr_addr_un.sun_path)-1) { strncpy (srvr_addr_un.sun_path, name, sizeof (srvr_addr_un.sun_path)-1); @@ -270,7 +271,7 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size) } else { - if (*name && strlen (name) < sizeof (srvr_addr_un.sun_path)-1) + if (strlen (name) < sizeof (srvr_addr_un.sun_path)-1) { strncpy (srvr_addr_un.sun_path, name, sizeof (srvr_addr_un.sun_path)-1); -- cgit v1.2.3