diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2019-04-23 00:51:01 +0200 |
---|---|---|
committer | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2019-04-23 00:51:01 +0200 |
commit | 7d1e4b73e3f321cd4f0e039aa0387484cf97b25c (patch) | |
tree | 3127c43d27178fa49c8c815115afd8961562f144 /lib | |
parent | f12bcc9149c32a01dac687718ad126d4d3ba29ba (diff) | |
download | u-boot-7d1e4b73e3f321cd4f0e039aa0387484cf97b25c.tar.gz |
efi_loader: check length in CreateDeviceNode()
When creating a device path node ensure that the size of the allocated
memory at lest matches the size of the node header.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/efi_loader/efi_device_path.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c index 6104c7d33b..10f890f44f 100644 --- a/lib/efi_loader/efi_device_path.c +++ b/lib/efi_loader/efi_device_path.c @@ -335,6 +335,9 @@ struct efi_device_path *efi_dp_create_device_node(const u8 type, { struct efi_device_path *ret; + if (length < sizeof(struct efi_device_path)) + return NULL; + ret = dp_alloc(length); if (!ret) return ret; |