summaryrefslogtreecommitdiffstats
path: root/libdw/dwarf_getsrcfiles.c
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2015-04-01 21:44:32 +0200
committerPetr Machata <pmachata@redhat.com>2015-04-03 13:21:09 +0200
commit71de1d2a8a3fffc83c707642a24f350d7217f83c (patch)
treed6a0107cf2b7990fded43f0fc66d2cd00d84ff62 /libdw/dwarf_getsrcfiles.c
parent224e2e61b25eed8d320a286bbbd12f9ea4a7799e (diff)
downloadandroid_external_elfutils-71de1d2a8a3fffc83c707642a24f350d7217f83c.tar.gz
android_external_elfutils-71de1d2a8a3fffc83c707642a24f350d7217f83c.tar.bz2
android_external_elfutils-71de1d2a8a3fffc83c707642a24f350d7217f83c.zip
Do not reject type units in dwarf_getsrcfiles and dwarf_getsrclines
Signed-off-by: Petr Machata <pmachata@redhat.com>
Diffstat (limited to 'libdw/dwarf_getsrcfiles.c')
-rw-r--r--libdw/dwarf_getsrcfiles.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/libdw/dwarf_getsrcfiles.c b/libdw/dwarf_getsrcfiles.c
index 4bfc34b8..5af6f68b 100644
--- a/libdw/dwarf_getsrcfiles.c
+++ b/libdw/dwarf_getsrcfiles.c
@@ -1,5 +1,5 @@
/* Return source file information of CU.
- Copyright (C) 2004, 2005, 2013 Red Hat, Inc.
+ Copyright (C) 2004, 2005, 2013, 2015 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2004.
@@ -39,10 +39,13 @@
int
dwarf_getsrcfiles (Dwarf_Die *cudie, Dwarf_Files **files, size_t *nfiles)
{
- if (unlikely (cudie == NULL
- || (INTUSE(dwarf_tag) (cudie) != DW_TAG_compile_unit
- && INTUSE(dwarf_tag) (cudie) != DW_TAG_partial_unit)))
+ if (cudie == NULL)
return -1;
+ if (! is_cudie (cudie))
+ {
+ __libdw_seterrno (DWARF_E_NOT_CUDIE);
+ return -1;
+ }
int res = -1;