diff options
Diffstat (limited to 'src/util/os_installation.c')
-rw-r--r-- | src/util/os_installation.c | 3 |
1 files changed, 2 insertions, 1 deletions
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--; |