console: Fix handling of NULL global_data
Both putc() and puts() can be called before global_data is set up. Some of the code paths don't handle this correctly. Add an explicit test before any member is accessed. Reported-by: Coverity (CID: 169030) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
parent
c2e4e7e631
commit
af880e247d
@ -502,8 +502,10 @@ void putc(const char c)
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (!gd)
|
||||
return;
|
||||
#ifdef CONFIG_CONSOLE_RECORD
|
||||
if (gd && (gd->flags & GD_FLG_RECORD) && gd->console_out.start)
|
||||
if ((gd->flags & GD_FLG_RECORD) && gd->console_out.start)
|
||||
membuff_putbyte(&gd->console_out, c);
|
||||
#endif
|
||||
#ifdef CONFIG_SILENT_CONSOLE
|
||||
@ -541,8 +543,10 @@ void puts(const char *s)
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (!gd)
|
||||
return;
|
||||
#ifdef CONFIG_CONSOLE_RECORD
|
||||
if (gd && (gd->flags & GD_FLG_RECORD) && gd->console_out.start)
|
||||
if ((gd->flags & GD_FLG_RECORD) && gd->console_out.start)
|
||||
membuff_put(&gd->console_out, s, strlen(s));
|
||||
#endif
|
||||
#ifdef CONFIG_SILENT_CONSOLE
|
||||
|
Loading…
Reference in New Issue
Block a user