--- afd-1.3.4/src/fd/init_msg_buffer.c 2007-03-30 07:18:40.000000000 +0200 +++ afd/src/fd/init_msg_buffer.c 2007-03-31 21:46:32.000000000 +0200 @@ -1883,7 +1883,7 @@ j, mask_offset, *no_of_file_mask_ids; - size_t original_size = stat_buf.st_size, + size_t original_size = stat_buf.st_size - AFD_WORD_OFFSET, remove_size, size_removed = 0; char *fmd; @@ -1950,7 +1950,7 @@ if (size_removed > 0) { if ((ptr = mmap_resize(fmd_fd, ptr, - original_size - size_removed)) == (caddr_t) -1) + original_size + AFD_WORD_OFFSET - size_removed)) == (caddr_t) -1) { system_log(FATAL_SIGN, __FILE__, __LINE__, "Failed to mmap_resize() `%s' : %s", @@ -1961,7 +1961,7 @@ "Removed %d file masks.", file_mask_removed); } #ifdef HAVE_MMAP - if (msync(ptr, (original_size - size_removed), MS_SYNC) == -1) + if (msync(ptr, (original_size + AFD_WORD_OFFSET - size_removed), MS_SYNC) == -1) #else if (msync_emu(ptr) == -1) #endif @@ -1971,7 +1971,7 @@ fmd_file_name, strerror(errno)); } #ifdef HAVE_MMAP - if (munmap(ptr, (original_size - size_removed)) == -1) + if (munmap(ptr, (original_size + AFD_WORD_OFFSET - size_removed)) == -1) #else if (munmap_emu((void *)ptr) == -1) #endif