[alsa-devel] [PATCH] terminate readlink result string
Takashi Iwai
tiwai at suse.de
Mon Jul 13 16:38:02 CEST 2015
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 at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
More information about the Alsa-devel
mailing list