diff options
author | NIIBE Yutaka <[email protected]> | 2019-09-18 08:25:27 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2019-09-18 08:25:27 +0000 |
commit | 521aeecf1e41e8e34bb354cf51bfd37ff7a900c6 (patch) | |
tree | 0e291b3adb6ccb6b757ba0a6decc559abc5db916 /src/logging.c | |
parent | estream: Care about erroneous case for stream close. (diff) | |
download | libgpg-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.c | 7 |
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); |