diff options
Diffstat (limited to 'src/util/crypto_helper_denom.c')
| -rw-r--r-- | src/util/crypto_helper_denom.c | 23 | 
1 files changed, 16 insertions, 7 deletions
| diff --git a/src/util/crypto_helper_denom.c b/src/util/crypto_helper_denom.c index 2cc140c8..243dd296 100644 --- a/src/util/crypto_helper_denom.c +++ b/src/util/crypto_helper_denom.c @@ -142,14 +142,23 @@ try_connect (struct TALER_CRYPTO_DenominationHelper *dh)      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 (dh->my_sa) + 1]; + +    strncpy (path, +             (const char *) &dh->my_sa, +             sizeof (dh->my_sa)); +    path[sizeof (dh->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);    { | 
