From: Ulrich Drepper Date: Sat, 6 Aug 2005 03:53:18 +0000 (+0000) Subject: CHeck names in verdef auxiliary data exist. X-Git-Tag: elfutils-0.120~145 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c2e3135df6741db94a9ec98f1eb57b02277a00b8;p=thirdparty%2Felfutils.git CHeck names in verdef auxiliary data exist. --- diff --git a/src/elflint.c b/src/elflint.c index df6e7bb77..aee3e71d9 100644 --- a/src/elflint.c +++ b/src/elflint.c @@ -2412,10 +2412,18 @@ section [%2d] '%s': entry %d has duplicate version name '%s'\n"), if (aux == NULL) goto no_data; - newname = alloca (sizeof (*newname)); - newname->name = elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name); - newname->next = refnamelist; - refnamelist = newname; + name = elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name); + if (name == NULL) + ERROR (gettext ("\ +section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"), + idx, section_name (ebl, idx), cnt); + else + { + newname = alloca (sizeof (*newname)); + newname->name = name; + newname->next = refnamelist; + refnamelist = newname; + } if ((aux->vda_next != 0 || cnt2 + 1 < def->vd_cnt) && aux->vda_next < gelf_fsize (ebl->elf, ELF_T_VDAUX, 1,