From: Hans de Goede Date: Tue, 19 Nov 2019 10:48:22 +0000 (+0100) Subject: ucm: parser: Fix snprintf usage X-Git-Tag: v1.2.1.1~3 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=8c4301e7a8c53d25d057c08420f0391ee2426d48;p=alsa-lib.git ucm: parser: Fix snprintf usage There is no need to manually 0 terminate the buffer with snprintf, only strncpy has the very unfortunate behavior of not guaranteeing 0 termination. Likewise there is no need to substract one from the buffer size of the buffer passed to snprintf. Signed-off-by: Hans de Goede Signed-off-by: Jaroslav Kysela --- diff --git a/src/ucm/parser.c b/src/ucm/parser.c index 319e3c1a..305d36c5 100644 --- a/src/ucm/parser.c +++ b/src/ucm/parser.c @@ -71,7 +71,6 @@ static void configuration_filename2(char *fn, size_t fn_len, int format, snprintf(fn, fn_len, "%s/ucm%s/%s/%s%s", snd_config_topdir(), format >= 2 ? "2" : "", dir, file, suffix); - fn[fn_len-1] = '\0'; } static void configuration_filename(snd_use_case_mgr_t *uc_mgr, @@ -96,7 +95,6 @@ static void configuration_filename(snd_use_case_mgr_t *uc_mgr, } if (env) { snprintf(fn, fn_len, "%s/%s/%s%s", env, dir, file, suffix); - fn[fn_len-1] = '\0'; return; } @@ -1712,11 +1710,10 @@ int uc_mgr_scan_master_configs(const char **_list[]) struct dirent **namelist; if (env) - snprintf(filename, sizeof(filename)-1, "%s", env); + snprintf(filename, sizeof(filename), "%s", env); else - snprintf(filename, sizeof(filename)-1, "%s/ucm2", + snprintf(filename, sizeof(filename), "%s/ucm2", snd_config_topdir()); - filename[sizeof(filename)-1] = '\0'; #if defined(_GNU_SOURCE) && !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__sun) && !defined(ANDROID) #define SORTFUNC versionsort