libpayload: Check for CBFS_DEFAULT_MEDIA in cbfs_get_file_content()
The error-prone interface of cbfs_get_file_content() led to another possible NULL dereferencing. So check for CBFS_DEFAULT_MEDIA here like the other functions do. Change-Id: Ib8732160d389e9ecceb44f28be0e7de9a1d66e04 Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: http://review.coreboot.org/11796 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
b142b84afb
commit
bda38eece8
|
@ -191,6 +191,16 @@ struct cbfs_file *cbfs_get_file(struct cbfs_media *media, const char *name)
|
||||||
void *cbfs_get_file_content(struct cbfs_media *media, const char *name,
|
void *cbfs_get_file_content(struct cbfs_media *media, const char *name,
|
||||||
int type, size_t *sz)
|
int type, size_t *sz)
|
||||||
{
|
{
|
||||||
|
struct cbfs_media default_media;
|
||||||
|
|
||||||
|
if (media == CBFS_DEFAULT_MEDIA) {
|
||||||
|
media = &default_media;
|
||||||
|
if (init_default_cbfs_media(media) != 0) {
|
||||||
|
ERROR("Failed to initialize default media.\n");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct cbfs_file *file = cbfs_get_file(media, name);
|
struct cbfs_file *file = cbfs_get_file(media, name);
|
||||||
|
|
||||||
if (sz)
|
if (sz)
|
||||||
|
|
Loading…
Reference in New Issue