diff --git a/file.c b/file.c
index 08c6a8309..9fd44d90f 100644
--- a/file.c
+++ b/file.c
@@ -117,12 +117,14 @@ static int try_to_xslt_open_csv(const char *filename, struct memblock *mem, char
*/
buf = realloc(mem->buffer, mem->size + strlen(""));
if (buf != NULL) {
- memmove(buf + 5, mem->buffer, mem->size);
+ memmove(buf + 5, buf, mem->size);
memcpy(buf, "", 5);
- memcpy(mem->buffer + mem->size + 5, "", 7);
- mem->buffer = buf;
+ memcpy(buf + mem->size + 5, "", 7);
mem->size += strlen("");
+ mem->buffer = buf;
} else {
+ /* we can atleast try to strdup a error... */
+ *error = strdup("realloc failed in __func__\n");
free(mem->buffer);
return 1;
}