From 07bcff123f7ee750bb0fc6d0008467f51d7e3b0d Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 4 Aug 2021 20:00:31 +0200 Subject: call chmod on client socket path, not client socket directory --- src/util/crypto_helper_esign.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'src/util/crypto_helper_esign.c') diff --git a/src/util/crypto_helper_esign.c b/src/util/crypto_helper_esign.c index d5baa9348..1234ba4a5 100644 --- a/src/util/crypto_helper_esign.c +++ b/src/util/crypto_helper_esign.c @@ -143,15 +143,25 @@ try_connect (struct TALER_CRYPTO_ExchangeSignHelper *esh) GNUNET_free (tmpdir); return; } - /* Fix permissions on UNIX domain socket, just - in case umask() is not set to enable group write */ - if (0 != chmod (tmpdir, - S_IRUSR | S_IWUSR | S_IWGRP)) + /* Fix permissions on client UNIX domain socket, + just in case umask() is not set to enable group write */ { - GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, - "chmod", - tmpdir); + char path[sizeof (esh->my_sa) + 1]; + + strncpy (path, + (const char *) &esh->my_sa, + sizeof (esh->my_sa)); + path[sizeof (esh->my_sa)] = '\0'; + + if (0 != chmod (path, + S_IRUSR | S_IWUSR | S_IWGRP)) + { + GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, + "chmod", + path); + } } + GNUNET_free (tmpdir); { struct GNUNET_MessageHeader hdr = { -- cgit v1.2.3