aboutsummaryrefslogtreecommitdiffstats
path: root/src/logging.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2019-09-18 08:25:27 +0000
committerNIIBE Yutaka <[email protected]>2019-09-18 08:25:27 +0000
commit521aeecf1e41e8e34bb354cf51bfd37ff7a900c6 (patch)
tree0e291b3adb6ccb6b757ba0a6decc559abc5db916 /src/logging.c
parentestream: Care about erroneous case for stream close. (diff)
downloadlibgpg-error-521aeecf1e41e8e34bb354cf51bfd37ff7a900c6.tar.gz
libgpg-error-521aeecf1e41e8e34bb354cf51bfd37ff7a900c6.zip
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 <[email protected]>
Diffstat (limited to 'src/logging.c')
-rw-r--r--src/logging.c7
1 files changed, 4 insertions, 3 deletions
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);