Browse code

bb #9222: make fmap_unneed respect nested maps

David Raynor authored on 2013/10/25 07:01:41
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Thu Oct 23 18:01:46 2013 EDT 2013 (dar)
2
+------------------------------------
3
+ * bb #9222: make fmap_unneed respect nested maps
4
+
1 5
 Tue Oct 15 16:03:25 2013 EDT 2013 (dar)
2 6
 ------------------------------------
3 7
  * libclamav: bb #9154 - ELF handling re-write
... ...
@@ -261,6 +261,7 @@ extern cl_fmap_t *cl_fmap_open_handle(void *handle, size_t offset, size_t len,
261 261
     m->pread_cb = pread_cb;
262 262
     m->aging = use_aging;
263 263
     m->offset = offset;
264
+    m->nested_offset = 0;
264 265
     m->len = len;/* m->nested_offset + m->len = m->real_len */
265 266
     m->real_len = len;
266 267
     m->pages = pages;
... ...
@@ -520,6 +521,7 @@ static void handle_unneed_off(fmap_t *m, size_t at, size_t len) {
520 520
 	return;
521 521
     }
522 522
 
523
+    at += m->nested_offset;
523 524
     if(!CLI_ISCONTAINED(0, m->real_len, at, len)) {
524 525
 	cli_warnmsg("fmap: attempted oof unneed\n");
525 526
 	return;