Mark the archive header as unusable when there is no next ar element.
authorMark Wielaard <mjw@redhat.com>
Fri, 6 Nov 2009 08:14:09 +0000 (09:14 +0100)
committerMark Wielaard <mjw@redhat.com>
Fri, 6 Nov 2009 08:14:09 +0000 (09:14 +0100)
libelf/ChangeLog
libelf/elf_next.c

index ba38755..974afa1 100644 (file)
@@ -1,3 +1,8 @@
+2009-11-06  Mark Wielaard  <mjw@redhat.com>
+
+       * elf_next.c (elf_next): Mark the archive header as unusable when
+       there is no next ar element.
+
 2009-08-12  Mark Wielaard  <mjw@redhat.com>
 
        * Makefile.am (libelf.so): Use -Wl,-z,defs not -defs.
index fbfb272..dddcb5a 100644 (file)
@@ -84,6 +84,10 @@ elf_next (elf)
   /* Get the next archive header.  */
   ret = __libelf_next_arhdr_wrlock (parent) != 0 ? ELF_C_NULL : elf->cmd;
 
+  /* If necessary, mark the archive header as unusable.  */
+  if (ret == ELF_C_NULL)
+      parent->state.ar.elf_ar_hdr.ar_name = NULL;
+
   rwlock_unlock (parent->lock);
 
   return ret;