[PATCH v2 1/1] input: avoid NULL dereference
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Tue Oct 3 01:03:32 CEST 2023
On 10/3/23 00:46, Tom Rini wrote:
> On Tue, Oct 03, 2023 at 12:27:25AM +0200, Heinrich Schuchardt wrote:
>> Before using the result of env_get("stdin") we must check if it is NULL.
>>
>> Avoid #if. This resolves the -Wunused-but-set-variable issue and we don't
>> need a dummy assignment in the else branch. Anyway this warning is
>> disabled in the Makefile.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>> ---
>> v2:
>> Avoid #if.
>> ---
>> drivers/input/input.c | 22 ++++++++++++----------
>> 1 file changed, 12 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/input/input.c b/drivers/input/input.c
>> index a4341e8c7c..de62189782 100644
>> --- a/drivers/input/input.c
>> +++ b/drivers/input/input.c
>> @@ -669,17 +669,19 @@ int input_stdio_register(struct stdio_dev *dev)
>> int error;
>>
>> error = stdio_register(dev);
>> -#if !defined(CONFIG_SPL_BUILD) || CONFIG_IS_ENABLED(ENV_SUPPORT)
>> - /* check if this is the standard input device */
>> - if (!error && strcmp(env_get("stdin"), dev->name) == 0) {
>> - /* reassign the console */
>> - if (OVERWRITE_CONSOLE ||
>> - console_assign(stdin, dev->name))
>> - return -1;
>> + if ((IS_ENABLED(SPL_BUILD) || CONFIG_IS_ENABLED(ENV_SUPPORT)) &&
>> + !error) {
>> + const char *cstdin;
>> +
>> + /* check if this is the standard input device */
>> + cstdin = env_get("stdin");
>> + if (cstdin && !strcmp(cstdin, dev->name)) {
>> + /* reassign the console */
>> + if (OVERWRITE_CONSOLE ||
>> + console_assign(stdin, dev->name))
>> + return -1;
>> + }
>> }
>> -#else
>> - error = error;
>> -#endif
>>
>> return 0;
>> }
>
> This is an example I think of where #if is more readable.
>
See v1 review. Simon asked to replace #if.
I don't mind which version you merge. Just mark the other one as superseded.
Best regards
Heinrich
More information about the U-Boot
mailing list