alsa/0034-always-handle-return-value-from-snd_config_get_id-co.patch

47 lines
1.4 KiB
Diff
Raw Normal View History

Accepting request 483406 from home:tiwai:branches:multimedia:libs - Backport upstream fix patches, including the deadlock fix for aplay/arecord (boo#1031525): 0001-ucm-Add-ATTRIBUTE_UNUSED-for-unused-parameters-of-ex.patch 0002-ucm-parser-needs-limits.h.patch 0003-pcm-direct-allow-users-to-configure-different-period.patch 0004-pcm-dshare-enable-silence.patch 0005-pcm-rate-fix-the-hw_ptr-update-until-the-boundary-av.patch 0006-plugin-dynamically-update-avail_min-on-slave.patch 0007-rate-dynamic-update-avail_min-on-slave.patch 0008-topology-fix-unused-const-variable-warning.patch 0009-seq-improve-documentation-about-new-get-pid-card-fun.patch 0010-pcm-direct-returning-semop-error-code-for-semaphore-.patch 0011-pcm-direct-Fix-for-sync-issue-on-xrun-recover.patch 0012-pcm-direct-check-state-before-enter-poll-on-timer.patch 0013-pcm-direct-don-t-return-bogus-buffer-levels-in-xrun-.patch 0014-conf-ucm-broxton-add-broxton-rt298-conf-files.patch 0015-pcm-direct-Fix-deadlock-in-poll_descriptors.patch 0016-ucm-Assure-the-user-input-card-name-not-to-exceed-ma.patch 0017-ucm-Load-device-specific-configuration-file-based-on.patch 0018-ucm-Add-command-get-_file-to-get-the-config-file-nam.patch 0019-topology-Fix-incorrect-license-in-source-comments.patch 0020-conf-cards-add-support-for-pistachio-card.patch 0021-pcm-multi-Drop-the-fixed-slave_map-in-snd_pcm_multi_.patch 0022-conf-Add-card-config-for-Intel-HDMI-DP-LPE-audio.patch 0023-pcm-Avoid-lock-for-snd_pcm_nonblock.patch 0024-pcm-Disable-locking-in-async-mode.patch 0025-pcm-dmix-Allow-disabling-x86-optimizations.patch 0026-pcm-dmix_rewind-corrupts-application-pointer-fix.patch 0027-pcm-direct-fix-race-on-clearing-timer-events.patch 0028-pcm-file-Enable-file-writing-for-capture-path.patch OBS-URL: https://build.opensuse.org/request/show/483406 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=210
2017-03-29 22:55:12 +00:00
From 8a38461fac67f6542308063ba8e9887a1a2fa84e Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 27 Feb 2017 09:26:33 +0100
Subject: [PATCH 34/43] always handle return value from snd_config_get_id()
(coverity)
---
src/pcm/pcm_rate.c | 6 ++++--
src/topology/data.c | 4 ++--
2 files changed, 6 insertions(+), 4 deletions(-)
--- a/src/pcm/pcm_rate.c
+++ b/src/pcm/pcm_rate.c
@@ -1339,7 +1339,8 @@ static int is_string_array(const snd_con
if (i && i != snd_config_iterator_end(conf)) {
snd_config_t *n = snd_config_iterator_entry(i);
const char *id;
- snd_config_get_id(n, &id);
+ if (snd_config_get_id(n, &id) < 0)
+ return 0;
if (id && strcmp(id, "0") != 0)
return 0;
}
@@ -1422,7 +1423,8 @@ int snd_pcm_rate_open(snd_pcm_t **pcmp,
snd_config_for_each(i, next, converter) {
snd_config_t *n = snd_config_iterator_entry(i);
const char *id;
- snd_config_get_id(n, &id);
+ if (snd_config_get_id(n, &id) < 0)
+ continue;
if (strcmp(id, "name") != 0)
continue;
snd_config_get_string(n, &type);
--- a/src/topology/data.c
+++ b/src/topology/data.c
@@ -653,8 +653,8 @@ static int parse_tuple_sets(snd_config_t
int err;
if (snd_config_get_type(cfg) != SND_CONFIG_TYPE_COMPOUND) {
- snd_config_get_id(cfg, &id);
- SNDERR("error: compound type expected for %s", id);
+ if (snd_config_get_id(cfg, &id) >= 0)
+ SNDERR("error: compound type expected for %s", id);
return -EINVAL;
}