From 429c670e4062225aea861a38adb60e3be9810c9c Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Sat, 16 Mar 2013 04:13:02 +0000 Subject: [PATCH] vfs: coredump fix: write zeroes for missing memory --- servers/vfs/coredump.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/servers/vfs/coredump.c b/servers/vfs/coredump.c index 43ccfda4f..1d8edcb45 100644 --- a/servers/vfs/coredump.c +++ b/servers/vfs/coredump.c @@ -116,7 +116,6 @@ static void fill_prog_header (Elf_Phdr *prog_header, Elf_Word p_type, prog_header->p_flags = p_flags; prog_header->p_filesz = p_filesz; prog_header->p_memsz = p_memsz; - } #define PADBYTES 4 @@ -310,9 +309,9 @@ static void dump_segments(struct filp *f, Elf_Phdr phdrs[], int phnum) (phys_bytes) CLICK_SIZE); if(r != OK) { - printf("VFS: vircopy failed for %d @ 0x%lx during coredump\n", - fp->fp_endpoint, p); - break; + /* memory didn't exist; write as zeroes */ + memset(buf, 0, sizeof(buf)); + continue; } write_buf(f, (char *) buf, (off + CLICK_SIZE <= (off_t) len) ?