mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
Fix NULL pointer dereferences, spotted by clang analyzer
Fix clang warnings:
../packages/disk-label.c:83:6: warning: Dereference of null pointer
if( *s == '-' || isdigit(*s) ||
../libopenbios/elf_load.c:267:5: warning: Null pointer passed as an argument to a 'nonnull' parameter
memcpy(addr, name, nhdr.n_namesz);
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@752 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
@@ -264,11 +264,13 @@ static Elf_Bhdr *add_boot_note(Elf_Bhdr *bhdr, const char *name,
|
||||
memcpy(addr, &nhdr, sizeof(nhdr));
|
||||
addr += sizeof(nhdr);
|
||||
|
||||
memcpy(addr, name, nhdr.n_namesz);
|
||||
addr += nhdr.n_namesz;
|
||||
pad = padded(nhdr.n_namesz) - nhdr.n_namesz;
|
||||
memset(addr, 0, pad);
|
||||
addr += pad;
|
||||
if (name && nhdr.n_namesz) {
|
||||
memcpy(addr, name, nhdr.n_namesz);
|
||||
addr += nhdr.n_namesz;
|
||||
pad = padded(nhdr.n_namesz) - nhdr.n_namesz;
|
||||
memset(addr, 0, pad);
|
||||
addr += pad;
|
||||
}
|
||||
|
||||
memcpy(addr, desc, nhdr.n_descsz);
|
||||
addr += nhdr.n_descsz;
|
||||
|
||||
@@ -68,6 +68,9 @@ dlabel_open( dlabel_info_t *di )
|
||||
if (!path) {
|
||||
path = strdup("");
|
||||
}
|
||||
if (!path) {
|
||||
goto out;
|
||||
}
|
||||
DPRINTF("dlabel-open '%s'\n", path );
|
||||
|
||||
/* open disk interface */
|
||||
|
||||
Reference in New Issue
Block a user