summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libdwfl/ChangeLog5
-rw-r--r--libdwfl/dwfl_build_id_find_elf.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index f4e7484b..4de38324 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-01 Mark Wielaard <[email protected]>
+
+ * dwfl_build_id_find_elf.c (__libdwfl_open_by_build_id): Copy path
+ pointer before passing to strsep.
+
2015-05-30 Mark Wielaard <[email protected]>
* link_map.c (check32): Use read_4ubyte_unaligned_noncvt to read
diff --git a/libdwfl/dwfl_build_id_find_elf.c b/libdwfl/dwfl_build_id_find_elf.c
index 215782a7..99a5059c 100644
--- a/libdwfl/dwfl_build_id_find_elf.c
+++ b/libdwfl/dwfl_build_id_find_elf.c
@@ -73,7 +73,8 @@ __libdwfl_open_by_build_id (Dwfl_Module *mod, bool debug, char **file_name,
int fd = -1;
char *dir;
- while (fd < 0 && (dir = strsep (&path, ":")) != NULL)
+ char *paths = path;
+ while (fd < 0 && (dir = strsep (&paths, ":")) != NULL)
{
if (dir[0] == '+' || dir[0] == '-')
++dir;