[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r31363 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r31363 - gnunet/src/util |
Date: |
Fri, 13 Dec 2013 16:00:33 +0100 |
Author: grothoff
Date: 2013-12-13 16:00:33 +0100 (Fri, 13 Dec 2013)
New Revision: 31363
Modified:
gnunet/src/util/disk.c
gnunet/src/util/network.c
Log:
-fix #3211
Modified: gnunet/src/util/disk.c
===================================================================
--- gnunet/src/util/disk.c 2013-12-13 14:48:10 UTC (rev 31362)
+++ gnunet/src/util/disk.c 2013-12-13 15:00:33 UTC (rev 31363)
@@ -796,7 +796,7 @@
GNUNET_DISK_directory_create_for_file (const char *filename)
{
char *rdir;
- int len;
+ size_t len;
int ret;
rdir = GNUNET_STRINGS_filename_expand (filename);
Modified: gnunet/src/util/network.c
===================================================================
--- gnunet/src/util/network.c 2013-12-13 14:48:10 UTC (rev 31362)
+++ gnunet/src/util/network.c 2013-12-13 15:00:33 UTC (rev 31363)
@@ -476,11 +476,41 @@
if ((desc->af == AF_UNIX) && (NULL != desc->addr))
{
const struct sockaddr_un *un = (const struct sockaddr_un *) desc->addr;
+ char *dirname = GNUNET_strndup (un->sun_path,
+ sizeof (un->sun_path));
- if (0 != unlink (un->sun_path))
+ if (0 != unlink (dirname))
+ {
LOG_STRERROR_FILE (GNUNET_ERROR_TYPE_WARNING,
"unlink",
- un->sun_path);
+ dirname);
+ }
+ else
+ {
+ size_t len;
+
+ len = strlen (dirname);
+ while ((len > 0) && (dirname[len] != DIR_SEPARATOR))
+ len--;
+ dirname[len] = '\0';
+ if (0 != rmdir (dirname))
+ {
+ switch (errno)
+ {
+ case EACCES:
+ case ENOTEMPTY:
+ case EPERM:
+ /* these are normal and can just be ignored */
+ break;
+ default:
+ GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING,
+ "rmdir",
+ dirname);
+ break;
+ }
+ }
+ }
+ GNUNET_free (dirname);
}
#endif
GNUNET_NETWORK_socket_free_memory_only_ (desc);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r31363 - gnunet/src/util,
gnunet <=