Takashi Iwai
c349a7f6d8
- Backport upstream fixes: buffer overflow fixes in aplay, segfault in aplaymidi, etc: 0008-topology-include-locale.h.patch 0009-nhlt-dmic-info.c-include-sys-types.h.patch 0010-topology-pre-processor-Add-support-for-enum-controls.patch 0011-configure.ac-fix-UMP-support-detection.patch 0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch 0013-topology-add-include-for-ENABLE_NLS-on-musl.patch 0014-nhlt-use-stdint.h-types.patch 0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch 0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch 0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch 0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch 0019-alsactl-fix-potential-buffer-overwrite.patch 0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch 0021-misc-fix-incorrect-usages-of-strerror.patch 0022-aplay-Add-option-for-specifying-subformat.patch 0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch 0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch 0025-aplay-enable-timestamps-by-default.patch 0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch 0027-aplaymidi-Set-event-completely-for-tempo-event.patch OBS-URL: https://build.opensuse.org/request/show/1137523 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=210
103 lines
3.3 KiB
Diff
103 lines
3.3 KiB
Diff
From edff9652c050935ad7a0131b5585b4dad5e42296 Mon Sep 17 00:00:00 2001
|
|
From: Tianyi Liu <i.pear@outlook.com>
|
|
Date: Tue, 21 Nov 2023 23:19:35 +0800
|
|
Subject: [PATCH] misc: fix incorrect usages of `strerror`
|
|
|
|
`strerror` takes the `errno` directly as its argument,
|
|
negating it will result in an "Unknown error".
|
|
|
|
This fixes such usages across multiple modules.
|
|
|
|
Fixes: https://github.com/alsa-project/alsa-utils/pull/245
|
|
Signed-off-by: Tianyi Liu <i.pear@outlook.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
alsaucm/usecase.c | 2 +-
|
|
nhlt/nhlt-dmic-info.c | 2 +-
|
|
topology/topology.c | 12 ++++++------
|
|
3 files changed, 8 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/alsaucm/usecase.c b/alsaucm/usecase.c
|
|
index a5c815591dca..0aea84c6cd1e 100644
|
|
--- a/alsaucm/usecase.c
|
|
+++ b/alsaucm/usecase.c
|
|
@@ -510,7 +510,7 @@ int main(int argc, char *argv[])
|
|
in = fopen(context->batch, "r");
|
|
if (in == NULL) {
|
|
fprintf(stderr, "%s: error failed to open file '%s': %s\n",
|
|
- command, context->batch, strerror(-errno));
|
|
+ command, context->batch, strerror(errno));
|
|
my_exit(context, EXIT_FAILURE);
|
|
}
|
|
}
|
|
diff --git a/nhlt/nhlt-dmic-info.c b/nhlt/nhlt-dmic-info.c
|
|
index f1b085742510..f08dc85d02eb 100644
|
|
--- a/nhlt/nhlt-dmic-info.c
|
|
+++ b/nhlt/nhlt-dmic-info.c
|
|
@@ -404,7 +404,7 @@ int main(int argc, char *argv[])
|
|
output = fopen(output_file, "w+");
|
|
if (output == NULL) {
|
|
fprintf(stderr, "Unable to create output file \"%s\": %s\n",
|
|
- output_file, strerror(-errno));
|
|
+ output_file, strerror(errno));
|
|
res = EXIT_FAILURE;
|
|
goto out;
|
|
}
|
|
diff --git a/topology/topology.c b/topology/topology.c
|
|
index 98b000aa5031..9752f8889367 100644
|
|
--- a/topology/topology.c
|
|
+++ b/topology/topology.c
|
|
@@ -96,7 +96,7 @@ static int load(const char *source_file, void **dst, size_t *dst_size)
|
|
fd = open(source_file, O_RDONLY);
|
|
if (fd < 0) {
|
|
fprintf(stderr, _("Unable to open input file '%s': %s\n"),
|
|
- source_file, strerror(-errno));
|
|
+ source_file, strerror(errno));
|
|
return 1;
|
|
}
|
|
}
|
|
@@ -120,7 +120,7 @@ static int load(const char *source_file, void **dst, size_t *dst_size)
|
|
buf = buf2;
|
|
}
|
|
if (r < 0) {
|
|
- fprintf(stderr, _("Read error: %s\n"), strerror(-errno));
|
|
+ fprintf(stderr, _("Read error: %s\n"), strerror(errno));
|
|
goto _err;
|
|
}
|
|
|
|
@@ -177,7 +177,7 @@ static int save(const char *output_file, void *buf, size_t size)
|
|
fd = open(fname, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
|
|
if (fd < 0) {
|
|
fprintf(stderr, _("Unable to open output file '%s': %s\n"),
|
|
- fname, strerror(-errno));
|
|
+ fname, strerror(errno));
|
|
return 1;
|
|
}
|
|
}
|
|
@@ -194,11 +194,11 @@ static int save(const char *output_file, void *buf, size_t size)
|
|
}
|
|
|
|
if (r < 0) {
|
|
- fprintf(stderr, _("Write error: %s\n"), strerror(-errno));
|
|
+ fprintf(stderr, _("Write error: %s\n"), strerror(errno));
|
|
if (fd != fileno(stdout)) {
|
|
if (fname && remove(fname))
|
|
fprintf(stderr, _("Unable to remove file %s: %s\n"),
|
|
- fname, strerror(-errno));
|
|
+ fname, strerror(errno));
|
|
close(fd);
|
|
}
|
|
return 1;
|
|
@@ -209,7 +209,7 @@ static int save(const char *output_file, void *buf, size_t size)
|
|
|
|
if (fname && rename(fname, output_file)) {
|
|
fprintf(stderr, _("Unable to rename file '%s' to '%s': %s\n"),
|
|
- fname, output_file, strerror(-errno));
|
|
+ fname, output_file, strerror(errno));
|
|
return 1;
|
|
}
|
|
|
|
--
|
|
2.35.3
|
|
|