From fa976d4a0accade96681a22f51550578f718358a Mon Sep 17 00:00:00 2001 From: kan Date: Tue, 25 Jan 2011 19:17:50 +0000 Subject: Do not allocate buffer to hold data for zero-sized sections. --- lib/libelf/elf_data.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/libelf/elf_data.c b/lib/libelf/elf_data.c index 9241b09..b8c10de 100644 --- a/lib/libelf/elf_data.c +++ b/lib/libelf/elf_data.c @@ -115,8 +115,10 @@ elf_getdata(Elf_Scn *s, Elf_Data *d) d->d_type = elftype; d->d_version = e->e_version; - if (sh_type == SHT_NOBITS) + if (sh_type == SHT_NOBITS || sh_size == 0) { + STAILQ_INSERT_TAIL(&s->s_data, d, d_next); return (d); + } if ((d->d_buf = malloc(msz*count)) == NULL) { (void) _libelf_release_data(d); -- cgit v1.1