[freenos] r374 committed - Fixed nullifying ELF memory segments to use + file_size instead of + m...

  • From: freenos@xxxxxxxxxxxxxx
  • To: freenos@xxxxxxxxxxxxx
  • Date: Fri, 15 Oct 2010 20:44:21 +0000

Revision: 374
Author: nieklinnenbank
Date: Fri Oct 15 13:43:53 2010
Log: Fixed nullifying ELF memory segments to use + file_size instead of + memory_size.

http://code.google.com/p/freenos/source/detail?r=374

Modified:
 /branches/scratch/lib/libexec/elf.c

=======================================
--- /branches/scratch/lib/libexec/elf.c Sun Oct 10 16:06:55 2010
+++ /branches/scratch/lib/libexec/elf.c Fri Oct 15 13:43:53 2010
@@ -98,7 +98,7 @@
        }
        /* Read segment contents from file. */
        if (fseek(fp, segments[i].offset, SEEK_SET) == -1 ||
-           fread(regions[i].data, segments[i].file_size, 1, fp) < 0)
+           fread(regions[*num_regions].data, segments[i].file_size, 1, fp) < 0)
        {
            libexec_set_error("failed to fread() elf_segment_t content: %s",
                               strerror(errno));
@@ -107,7 +107,7 @@
        /* Nulify remaining space. */
        if (segments[i].memory_size > segments[i].file_size)
        {
-           memset(regions[i].data + segments[i].memory_size, 0,
+           memset(regions[*num_regions].data + segments[i].file_size, 0,
                   segments[i].memory_size - segments[i].file_size);
        }
        /* Increment counter. */

Other related posts:

  • » [freenos] r374 committed - Fixed nullifying ELF memory segments to use + file_size instead of + m... - freenos