]> git.pond.sub.org Git - empserver/commitdiff
(ef_write): Don't memcpy() onto itself; behavior's undefined.
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 19 Nov 2005 15:41:37 +0000 (15:41 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 19 Nov 2005 15:41:37 +0000 (15:41 +0000)
src/lib/common/file.c

index d710376eaa418c2c5c46860b991015ae7b0b9a41..fdba22b29ec1ac5c5c483ed3bef1accd410d2583 100644 (file)
@@ -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 */