]> git.proxmox.com Git - qemu.git/blobdiff - page_cache.c
tcg-ppc64: Fix add2_i64
[qemu.git] / page_cache.c
index e5717d53c9fb3d5fe2b059e03fa737d11ae3db5b..938a79c9ea7999b4a46a639c35ff27bc639e6892 100644 (file)
@@ -152,11 +152,14 @@ void cache_insert(PageCache *cache, uint64_t addr, uint8_t *pdata)
     /* actual update of entry */
     it = cache_get_by_addr(cache, addr);
 
+    /* free old cached data if any */
+    g_free(it->it_data);
+
     if (!it->it_data) {
         cache->num_items++;
     }
 
-    it->it_data = pdata;
+    it->it_data = g_memdup(pdata, cache->page_size);
     it->it_age = ++cache->max_item_age;
     it->it_addr = addr;
 }