Fix -Werror=restrict

While one could be safe to assume that first input is read,
then symlink target is copied to user-mode, it causes compiler
warning.

So, don't reuse the symlink filename buffer for storing symlink
target.

../daemon/procfs.c:155:28: error: passing argument 2 to restrict-qualified parameter aliases with argument 1 [-Werror=restrict]
  155 |   ret = readlink(g_buffer, g_buffer, sizeof(g_buffer));
      |                  ~~~~~~~~  ^~~~~~~~

sys-libs/glibc-2.30-r8 (armv7a, but ISA probably does not matter)
gcc (Gentoo 9.3.0 p2) 9.3.0
This commit is contained in:
Nedko Arnaudov 2020-05-07 23:38:18 +03:00
parent 16e6233620
commit 27e38d3f4b
1 changed files with 4 additions and 3 deletions

View File

@ -39,6 +39,7 @@
#define BUFFER_SIZE 4096
static char g_buffer[BUFFER_SIZE];
static char g_buffer_readlink[BUFFER_SIZE];
static
bool
@ -152,11 +153,11 @@ procfs_get_process_link(
return NULL;
}
ret = readlink(g_buffer, g_buffer, sizeof(g_buffer));
ret = readlink(g_buffer, g_buffer_readlink, sizeof(g_buffer_readlink));
if (ret != 0)
{
g_buffer[ret] = 0;
buffer_ptr = strdup(g_buffer);
g_buffer_readlink[ret] = 0;
buffer_ptr = strdup(g_buffer_readlink);
log_debug("process %llu %s symlink points to \"%s\"", pid, filename, buffer_ptr);
}
else