OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=63
36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
From 19892334499ed21ed4dc30084ad8700253f9cb2f Mon Sep 17 00:00:00 2001
|
|
From: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com>
|
|
Date: Thu, 22 Apr 2010 15:42:20 +0200
|
|
Subject: [PATCH 03/21] seq: Fix for snd_seq_parse_address()
|
|
|
|
snd_seq_parse_address() uses strncmp() to compare the client name
|
|
in the string argument with the existing clients, until it finds one
|
|
name matching the same leading characters. This may produce wrong
|
|
results when there are two sequencer clients with similar names.
|
|
|
|
Example: "KMidimon" : "Kmid"
|
|
|
|
Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com>
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
src/seq/seqmid.c | 3 ++-
|
|
1 files changed, 2 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/src/seq/seqmid.c b/src/seq/seqmid.c
|
|
index 86a4970..894c3a2 100644
|
|
--- a/src/seq/seqmid.c
|
|
+++ b/src/seq/seqmid.c
|
|
@@ -414,7 +414,8 @@ int snd_seq_parse_address(snd_seq_t *seq, snd_seq_addr_t *addr, const char *arg)
|
|
return -EINVAL;
|
|
cinfo.client = -1;
|
|
while (snd_seq_query_next_client(seq, &cinfo) >= 0) {
|
|
- if (! strncmp(arg, cinfo.name, len)) {
|
|
+ if ((strlen(cinfo.name) == len) &&
|
|
+ ! strncmp(arg, cinfo.name, len)) {
|
|
addr->client = cinfo.client;
|
|
return 0;
|
|
}
|
|
--
|
|
1.7.2.1
|
|
|