cvs: php4 /ext/hyperwave hw.c
| From: | Uwe Steinmann | Date: | Wed, 24 Oct 2001 08:33:08 +0000 |
| Subject: | cvs: php4 /ext/hyperwave hw.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-7970@lists.php.net to get a copy of this message | ||
steinm Wed Oct 24 04:33:08 2001 EDT
Modified files:
/php4/ext/hyperwave hw.c
Log:
- switched src and dest in memcpy. This caused a segm fault in hw_new_document_from_file()
Index: php4/ext/hyperwave/hw.c
diff -u php4/ext/hyperwave/hw.c:1.99 php4/ext/hyperwave/hw.c:1.100
--- php4/ext/hyperwave/hw.c:1.99 Thu Oct 11 19:32:51 2001
+++ php4/ext/hyperwave/hw.c Wed Oct 24 04:33:08 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: hw.c,v 1.99 2001/10/11 23:32:51 ssb Exp $ */
+/* $Id: hw.c,v 1.100 2001/10/24 08:33:08 steinm Exp $ */
#include <stdlib.h>
#include <errno.h>
@@ -2911,9 +2911,9 @@
fstat(fd, &sbuf);
if (sbuf.st_size > BUFSIZE) {
-/* off = ftell(fp); */
- len = sbuf.st_size;/* - off; */
- p = mmap(0, len, PROT_READ, MAP_PRIVATE, fd, off);
+ off = ftell(fp);
+ len = sbuf.st_size - off;
+ p = mmap(0, len, PROT_READ, MAP_SHARED, fd, off);
if (p != (void *) MAP_FAILED) {
doc->data = malloc(len);
if(NULL == doc->data) {
@@ -2921,7 +2921,7 @@
free(doc);
RETURN_FALSE;
}
- memcpy(p, doc->data, len);
+ memcpy(doc->data, p, len);
munmap(p, len);
bcount = len;
doc->size = len;