Re: [PATCH RFC] brcmfmac: sanitize DMI strings v2

From: Kalle Valo
Date: Mon May 06 2019 - 04:42:51 EST


Hans de Goede <hdegoede@xxxxxxxxxx> writes:

>> @@ -99,6 +107,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
>> {}
>> };
>> +void brcmf_dmi_sanitize(char *dst, const unsigned char *allowed,
>> char safe)
>> +{
>> + while (*dst) {
>> + if ((*dst < 0) || !(allowed[*dst / 8] & (1 << (*dst % 8))))
>
> At a first look I have no clue what this code is doing and I honestly do not feel
> like figuring it out, this is clever, but IMHO not readable.
>
> Please just write this as if (*dst < 0x21 || (*dst > foo && < bar) || etc,
> so that a human can actually see in one look what the code is doing.

Is there an existing function for sanitising filenames so that we don't
need to reinvent the wheel, maybe something like isalnum()?

--
Kalle Valo