Author: kaiw
Date: Sat May  7 11:04:36 2011
New Revision: 221595
URL: http://svn.freebsd.org/changeset/base/221595

Log:
  For zero-sized sections, set the `d_buf` field of the `Elf_Data`
  descriptor returned by `elf_rawdata()` to NULL.
  
  Obtained from:        elftoolchain

Modified:
  head/lib/libelf/elf_data.c

Modified: head/lib/libelf/elf_data.c
==============================================================================
--- head/lib/libelf/elf_data.c  Sat May  7 10:44:08 2011        (r221594)
+++ head/lib/libelf/elf_data.c  Sat May  7 11:04:36 2011        (r221595)
@@ -225,7 +225,8 @@ elf_rawdata(Elf_Scn *s, Elf_Data *d)
        if ((d = _libelf_allocate_data(s)) == NULL)
                return (NULL);
 
-       d->d_buf     = sh_type == SHT_NOBITS ? NULL : e->e_rawfile + sh_offset;
+       d->d_buf     = (sh_type == SHT_NOBITS || sh_size == 0) ? NULL :
+           e->e_rawfile + sh_offset;
        d->d_off     = 0;
        d->d_align   = sh_align;
        d->d_size    = sh_size;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to