diff options
author | Tobias Stoeckmann <tobias@stoeckmann.org> | 2015-07-11 13:23:57 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-07-13 16:37:28 +0200 |
commit | 13c826941445a66ece203a09e6739c979ac5900c (patch) | |
tree | b63e1ef9765cbaab06a9d3f8141c13960fe99d97 /alsactl/init_sysfs.c | |
parent | 46b60827568ca4aad15eeacbc9dcf8597986ca8e (diff) | |
download | alsa-utils-13c826941445a66ece203a09e6739c979ac5900c.tar.gz |
alsactl: terminate readlink result string
readlink does not guarantee that its result string is nul-terminated.
Instead, increase the buffer by one byte to make sure that we can
add '\0' at the end.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'alsactl/init_sysfs.c')
-rw-r--r-- | alsactl/init_sysfs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/alsactl/init_sysfs.c b/alsactl/init_sysfs.c index 0cbada2..5c789b6 100644 --- a/alsactl/init_sysfs.c +++ b/alsactl/init_sysfs.c @@ -108,11 +108,11 @@ static char *sysfs_attr_get_value(const char *devpath, const char *attr_name) if (S_ISLNK(statbuf.st_mode)) { /* links return the last element of the target path */ - char link_target[PATH_SIZE]; + char link_target[PATH_SIZE + 1]; int len; const char *pos; - len = readlink(path_full, link_target, sizeof(link_target)); + len = readlink(path_full, link_target, sizeof(link_target) - 1); if (len > 0) { link_target[len] = '\0'; pos = strrchr(link_target, '/'); |