- switched src and dest in memcpy. This caused a segm fault in hw_new_document_from_file()

This commit is contained in:
Uwe Steinmann 2001-10-24 08:33:09 +00:00
parent 90544a10ee
commit 9290bf04e8

View file

@ -2911,9 +2911,9 @@ PHP_FUNCTION(hw_new_document_from_file)
fstat(fd, &sbuf); fstat(fd, &sbuf);
if (sbuf.st_size > BUFSIZE) { if (sbuf.st_size > BUFSIZE) {
/* off = ftell(fp); */ off = ftell(fp);
len = sbuf.st_size;/* - off; */ len = sbuf.st_size - off;
p = mmap(0, len, PROT_READ, MAP_PRIVATE, fd, off); p = mmap(0, len, PROT_READ, MAP_SHARED, fd, off);
if (p != (void *) MAP_FAILED) { if (p != (void *) MAP_FAILED) {
doc->data = malloc(len); doc->data = malloc(len);
if(NULL == doc->data) { if(NULL == doc->data) {
@ -2921,7 +2921,7 @@ PHP_FUNCTION(hw_new_document_from_file)
free(doc); free(doc);
RETURN_FALSE; RETURN_FALSE;
} }
memcpy(p, doc->data, len); memcpy(doc->data, p, len);
munmap(p, len); munmap(p, len);
bcount = len; bcount = len;
doc->size = len; doc->size = len;