All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alexander E. Patrakov" <patrakov@gmail.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: [PATCH lib] Replace unsafe characters with _ in card name
Date: Mon, 29 Jun 2015 22:44:47 +0500	[thread overview]
Message-ID: <5591840F.9070705@gmail.com> (raw)
In-Reply-To: <s5hh9pqed36.wl-tiwai@suse.de>

29.06.2015 20:41, Takashi Iwai wrote:
> At Sat, 27 Jun 2015 19:32:49 +0500,
> Alexander E. Patrakov wrote:
>>
>> Otherwise, they get misinterpreted as argument separators
>> in USB-Audio PCM definitions, and thus prevent SPDIF blacklist entries
>> from working.
>>
>> While at it, add my Logitec C910 webcam to the SPDIF blacklist.
>>
>> Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
>> ---
>> I did not send this patch earlier because of hesitation whether to send
>> it as it is or to implement proper escaping, and then forgot about it.
>
> I find the idea is fine.  Just small nitpicking:

Thanks for the review, I will send a new version soon.

>
>
>>   include/conf.h                |  1 +
>>   src/conf.c                    | 32 ++++++++++++++++++++++++++++++++
>>   src/conf/cards/USB-Audio.conf |  3 ++-
>>   src/confmisc.c                |  2 +-
>>   4 files changed, 36 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/conf.h b/include/conf.h
>> index ff270f6..087c05d 100644
>> --- a/include/conf.h
>> +++ b/include/conf.h
>> @@ -126,6 +126,7 @@ int snd_config_imake_integer(snd_config_t **config, const char *key, const long
>>   int snd_config_imake_integer64(snd_config_t **config, const char *key, const long long value);
>>   int snd_config_imake_real(snd_config_t **config, const char *key, const double value);
>>   int snd_config_imake_string(snd_config_t **config, const char *key, const char *ascii);
>> +int snd_config_imake_safe_string(snd_config_t **config, const char *key, const char *ascii);
>>   int snd_config_imake_pointer(snd_config_t **config, const char *key, const void *ptr);
>>
>>   snd_config_type_t snd_config_get_type(const snd_config_t *config);
>> diff --git a/src/conf.c b/src/conf.c
>> index bb256e7..e72a58a 100644
>> --- a/src/conf.c
>> +++ b/src/conf.c
>> @@ -2228,6 +2228,38 @@ int snd_config_imake_string(snd_config_t **config, const char *id, const char *v
>>   	return 0;
>>   }
>>
>> +int snd_config_imake_safe_string(snd_config_t **config, const char *id, const char *value)
>> +{
>> +	int err;
>> +	snd_config_t *tmp;
>> +	char *c;
>> +
>> +	err = snd_config_make(&tmp, id, SND_CONFIG_TYPE_STRING);
>> +	if (err < 0)
>> +		return err;
>> +	if (value) {
>> +		tmp->u.string = strdup(value);
>
> The NULL check is put in a wrong place.

I don't see what's wrong, could you please elaborate? And if this is 
wrong, then snd_config_imake_string() has the same bug.

>
>> +		for (c = tmp->u.string; *c; c++) {
>> +			if (*c == ' ' || *c == '-' || *c == '_' ||
>> +				(*c >= '0' && *c <= '9') ||
>> +				(*c >= 'a' && *c <= 'z') ||
>> +				(*c >= 'A' && *c <= 'Z'))
>> +					continue;
>
> Can the last three be isalnum()?

No. isalnum() is locale-dependent.

>
>> +			*c = '_';
>> +		}
>> +
>> +		if (!tmp->u.string) {
>> +			snd_config_delete(tmp);
>> +			return -ENOMEM;
>> +		}
>
> This should be before conversion.

Oops...

-- 
Alexander E. Patrakov

  reply	other threads:[~2015-06-29 17:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-27 14:32 [PATCH lib] Replace unsafe characters with _ in card name Alexander E. Patrakov
2015-06-29 15:41 ` Takashi Iwai
2015-06-29 17:44   ` Alexander E. Patrakov [this message]
2015-06-29 18:33     ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5591840F.9070705@gmail.com \
    --to=patrakov@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.