From 661b650c1ab201898753116071387b41f070d48e Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 19 Nov 2005 15:41:37 +0000 Subject: [PATCH] (ef_write): Don't memcpy() onto itself; behavior's undefined. --- src/lib/common/file.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/common/file.c b/src/lib/common/file.c index d710376e..fdba22b2 100644 --- a/src/lib/common/file.c +++ b/src/lib/common/file.c @@ -359,7 +359,8 @@ ef_write(int type, int id, void *from) if (id >= ep->baseid && id < ep->baseid + ep->cids) { /* update the cache if necessary */ to = ep->cache + (id - ep->baseid) * ep->size; - memcpy(to, from, ep->size); + if (to != from) + memcpy(to, from, ep->size); } if (id >= ep->fids) { /* write beyond end of file extends it, take note */