From 5a1e353c12db617c18760efe204f0a69631a29a1 Mon Sep 17 00:00:00 2001 From: Marcus Comstedt Date: Sun, 29 Aug 2004 19:32:14 +0000 Subject: Oops, forgot to clear BSS... svn-id: r14830 --- backends/dc/dcloader.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'backends') diff --git a/backends/dc/dcloader.cpp b/backends/dc/dcloader.cpp index 17c13ceb74..04ad4ba003 100644 --- a/backends/dc/dcloader.cpp +++ b/backends/dc/dcloader.cpp @@ -226,6 +226,9 @@ bool DLObject::load(int fd) DBG("segment @ %p\n", segment); + if(phdr.p_memsz > phdr.p_filesz) + memset(((char *)segment) + phdr.p_filesz, 0, phdr.p_memsz - phdr.p_filesz); + if(lseek(fd, phdr.p_offset, SEEK_SET)<0 || read(fd, segment, phdr.p_filesz) != phdr.p_filesz) { seterror("Segment load failed."); -- cgit v1.2.3