aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/disk.c2
-rw-r--r--src/util/os_installation.c3
-rw-r--r--src/util/service.c3
3 files changed, 6 insertions, 2 deletions
diff --git a/src/util/disk.c b/src/util/disk.c
index bcede53e4..94615f198 100644
--- a/src/util/disk.c
+++ b/src/util/disk.c
@@ -704,6 +704,8 @@ GNUNET_DISK_directory_scan (const char *dirName,
704 704
705 GNUNET_assert (dirName != NULL); 705 GNUNET_assert (dirName != NULL);
706 dname = GNUNET_STRINGS_filename_expand (dirName); 706 dname = GNUNET_STRINGS_filename_expand (dirName);
707 if (dname == NULL)
708 return GNUNET_SYSERR;
707 while ((strlen (dname) > 0) && (dname[strlen (dname) - 1] == DIR_SEPARATOR)) 709 while ((strlen (dname) > 0) && (dname[strlen (dname) - 1] == DIR_SEPARATOR))
708 dname[strlen (dname) - 1] = '\0'; 710 dname[strlen (dname) - 1] = '\0';
709 if (0 != STAT (dname, &istat)) 711 if (0 != STAT (dname, &istat))
diff --git a/src/util/os_installation.c b/src/util/os_installation.c
index c61028187..19469e81e 100644
--- a/src/util/os_installation.c
+++ b/src/util/os_installation.c
@@ -96,11 +96,12 @@ get_path_from_proc_exe ()
96 GNUNET_snprintf (fn, 96 GNUNET_snprintf (fn,
97 sizeof(fn), "/proc/%u/exe", getpid ()); 97 sizeof(fn), "/proc/%u/exe", getpid ());
98 size = readlink (fn, lnk, sizeof (lnk)-1); 98 size = readlink (fn, lnk, sizeof (lnk)-1);
99 if ((size == 0) || (size >= sizeof(lnk)-1)) 99 if (size <= 0)
100 { 100 {
101 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "readlink", fn); 101 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "readlink", fn);
102 return NULL; 102 return NULL;
103 } 103 }
104 GNUNET_assert (size < sizeof (lnk));
104 lnk[size] = '\0'; 105 lnk[size] = '\0';
105 while ((lnk[size] != '/') && (size > 0)) 106 while ((lnk[size] != '/') && (size > 0))
106 size--; 107 size--;
diff --git a/src/util/service.c b/src/util/service.c
index a4316768d..cd27380ee 100644
--- a/src/util/service.c
+++ b/src/util/service.c
@@ -732,10 +732,11 @@ add_unixpath (struct sockaddr **saddrs,
732 unixpath, 732 unixpath,
733 slen); 733 slen);
734 un->sun_path[slen] = '\0'; 734 un->sun_path[slen] = '\0';
735 slen += sizeof (sa_family_t);
736#if LINUX 735#if LINUX
737 un->sun_path[0] = '\0'; 736 un->sun_path[0] = '\0';
738 slen = sizeof (struct sockaddr_un); 737 slen = sizeof (struct sockaddr_un);
738#else
739 slen += sizeof (sa_family_t);
739#endif 740#endif
740 *saddrs = (struct sockaddr*) un; 741 *saddrs = (struct sockaddr*) un;
741 *saddrlens = slen; 742 *saddrlens = slen;