usb: gadget: g_dnl: Fix NULLPTR dereference when serial# is unset
The current behaviour of this function will dereference a null pointer if the serial# environment variable is unset. This was discovered on a board where U-Boot did not have access to the first 256MB of ram, resulting in a board crash. In the event that U-Boot has full access to memory, it will still read from address 0, which is probably not optimal. This simple check is enough to fix it Signed-off-by: Michael Ferolito <michaelsunn101@gmail.com> Cc: Marek Vasut <marex@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Marek Vasut <marex@denx.de> Link: https://lore.kernel.org/r/20250128030945.1219589-1-michaelsunn101@gmail.com Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
This commit is contained in:

committed by
Mattijs Korpershoek

parent
b3c09eb365
commit
dcf1c627cf
@@ -207,7 +207,8 @@ void g_dnl_clear_detach(void)
|
||||
static int on_serialno(const char *name, const char *value, enum env_op op,
|
||||
int flags)
|
||||
{
|
||||
g_dnl_set_serialnumber((char *)value);
|
||||
if (value)
|
||||
g_dnl_set_serialnumber((char *)value);
|
||||
return 0;
|
||||
}
|
||||
U_BOOT_ENV_CALLBACK(serialno, on_serialno);
|
||||
|
Reference in New Issue
Block a user