diff --git a/server/mapping.c b/server/mapping.c
index ab98a62..254924e 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -95,6 +95,7 @@
     int i, max_size, total_size, pos;
     char *buffer = NULL; 
     int shared_fd = -1;
+    long toread;
 
     /* compute the total size of the shared mapping */
 
@@ -127,10 +128,16 @@
         if (!(sec[i].Characteristics & IMAGE_SCN_MEM_WRITE)) continue;
         if (lseek( shared_fd, pos, SEEK_SET ) != pos) goto error;
         pos += ROUND_SIZE( 0, sec[i].Misc.VirtualSize );
-    	if (sec->Characteristics & IMAGE_SCN_CNT_UNINITIALIZED_DATA) continue;
-        if (!sec->PointerToRawData || !sec->SizeOfRawData) continue;
+        if (sec[i].Characteristics & IMAGE_SCN_CNT_UNINITIALIZED_DATA) continue;
+        if (!sec[i].PointerToRawData || !sec[i].SizeOfRawData) continue;
         if (lseek( fd, sec[i].PointerToRawData, SEEK_SET ) != sec[i].PointerToRawData) goto error;
-        if (read( fd, buffer, sec[i].SizeOfRawData ) != sec[i].SizeOfRawData) goto error;
+        toread = sec[i].SizeOfRawData;
+        while (toread)
+        {
+            long res = read( fd, buffer + sec[i].SizeOfRawData - toread, toread );
+            if (res <= 0) goto error;
+            toread -= res;
+        }
         if (write( shared_fd, buffer, sec[i].SizeOfRawData ) != sec[i].SizeOfRawData) goto error;
     }
     close( shared_fd );
