From fd17faf910041fb68e3e025c7f45712d05a23533 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Tue, 1 Jan 2013 00:12:07 -0600 Subject: [PATCH] Fix memcpy()s with overlapping buffers --- src/dentry.c | 6 +++--- src/xml.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/dentry.c b/src/dentry.c index 08c08ab6..03d56fc7 100644 --- a/src/dentry.c +++ b/src/dentry.c @@ -1117,9 +1117,9 @@ void inode_remove_ads(struct wim_inode *inode, u16 idx, destroy_ads_entry(ads_entry); - memcpy(&inode->i_ads_entries[idx], - &inode->i_ads_entries[idx + 1], - (inode->i_num_ads - idx - 1) * sizeof(inode->i_ads_entries[0])); + memmove(&inode->i_ads_entries[idx], + &inode->i_ads_entries[idx + 1], + (inode->i_num_ads - idx - 1) * sizeof(inode->i_ads_entries[0])); inode->i_num_ads--; } #endif diff --git a/src/xml.c b/src/xml.c index ca2ec3e7..9b161c28 100644 --- a/src/xml.c +++ b/src/xml.c @@ -952,9 +952,9 @@ void xml_delete_image(struct wim_info **wim_info_p, int image) destroy_image_info(&wim_info->images[image - 1]); - memcpy(&wim_info->images[image - 1], - &wim_info->images[image], - (wim_info->num_images - image) * sizeof(struct image_info)); + memmove(&wim_info->images[image - 1], + &wim_info->images[image], + (wim_info->num_images - image) * sizeof(struct image_info)); if (--wim_info->num_images == 0) { free_wim_info(wim_info); -- 2.43.0