* [PATCH] terminate readlink result string
@ 2015-07-11 11:23 Tobias Stoeckmann
2015-07-13 14:38 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Tobias Stoeckmann @ 2015-07-11 11:23 UTC (permalink / raw
To: alsa-devel
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.
---
alsactl/init_sysfs.c | 4 ++--
1 file 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, '/');
--
2.4.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] terminate readlink result string
2015-07-11 11:23 [PATCH] terminate readlink result string Tobias Stoeckmann
@ 2015-07-13 14:38 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2015-07-13 14:38 UTC (permalink / raw
To: Tobias Stoeckmann; +Cc: alsa-devel
On Sat, 11 Jul 2015 13:23:57 +0200,
Tobias Stoeckmann wrote:
>
> 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.
Applied, thanks.
Takashi
> ---
> alsactl/init_sysfs.c | 4 ++--
> 1 file 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, '/');
> --
> 2.4.5
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-07-13 14:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-11 11:23 [PATCH] terminate readlink result string Tobias Stoeckmann
2015-07-13 14:38 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.