[PATCH] ofnode: NULL check bootscr_flash_size before dereference

Andrew Goodbody andrew.goodbody at linaro.org
Mon Jul 7 12:03:09 CEST 2025


On 04/07/2025 22:01, Tom Rini wrote:
> On Thu, Jul 03, 2025 at 05:05:31PM +0100, Andrew Goodbody wrote:
> 
>> Move the NULL check of bootscr_flash_size to before the first time it is
>> dereferenced to avoid any possible segment violations.
>>
>> This issue found by Smatch.
>>
>> Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
>> ---
>>   drivers/core/ofnode.c | 12 ++++++------
>>   1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
>> index 26e014d5c53..1c285a867b3 100644
>> --- a/drivers/core/ofnode.c
>> +++ b/drivers/core/ofnode.c
>> @@ -1960,6 +1960,12 @@ int ofnode_read_bootscript_flash(u64 *bootscr_flash_offset,
>>   	int ret;
>>   	ofnode uboot;
>>   
>> +	if (!bootscr_flash_size) {
>> +		dm_warn("bootscr-flash-size is zero. Ignoring properties!\n");
>> +		*bootscr_flash_offset = 0;
>> +		return -EINVAL;
>> +	}
>> +
>>   	*bootscr_flash_offset = 0;
>>   	*bootscr_flash_size = 0;
> 
> Is the compiler likely to optimize this to:
> *bootscr_flash_offset = 0;
> if (!bootscr_flash_size) {
>    ...dm_warn(...)
>    return -EINVAL;
> }
> *bootscr_flash_size = 0;
> 
> Otherwise we should re-organize it like that. And yes, the two patches
> today for "fix platform ... because it grew too much" reminded me to be
> picky like this.
> 

Thanks, yes.

Andrew


More information about the U-Boot mailing list