summaryrefslogtreecommitdiff
path: root/alsactl/init_sysfs.c
diff options
context:
space:
mode:
authorTobias Stoeckmann <tobias@stoeckmann.org>2015-07-11 13:23:57 +0200
committerTakashi Iwai <tiwai@suse.de>2015-07-13 16:37:28 +0200
commit13c826941445a66ece203a09e6739c979ac5900c (patch)
treeb63e1ef9765cbaab06a9d3f8141c13960fe99d97 /alsactl/init_sysfs.c
parent46b60827568ca4aad15eeacbc9dcf8597986ca8e (diff)
downloadalsa-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.c4
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, '/');