cvs: /php4/ext/hyperwave hg_comm.c
| From: | Uwe Steinmann | Date: | Fri, 06 Aug 1999 06:40:24 +0000 |
| Subject: | cvs: /php4/ext/hyperwave hg_comm.c | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-3164@lists.php.net to get a copy of this message | ||
steinm Fri Aug 6 02:40:24 1999 EDT
Modified files:
/php4/ext/hyperwave hg_comm.c
Log:
Order of freeing memory cause segm fault since efree seems to wipe
out the memory.
Index: php4/ext/hyperwave/hg_comm.c
diff -u php4/ext/hyperwave/hg_comm.c:1.8 php4/ext/hyperwave/hg_comm.c:1.9
--- php4/ext/hyperwave/hg_comm.c:1.8 Thu Aug 5 12:25:10 1999
+++ php4/ext/hyperwave/hg_comm.c Fri Aug 6 02:39:54 1999
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: hg_comm.c,v 1.8 1999/08/05 16:25:10 steinm Exp $ */
+/* $Id: hg_comm.c,v 1.9 1999/08/06 06:39:54 steinm Exp $ */
/* #define HW_DEBUG */
@@ -45,7 +45,6 @@
#endif
#include <fcntl.h>
#include <errno.h>
-#include <alloc.h>
#include "hg_comm.h"
#include "dlist.h"
#include "ext/standard/head.h"
@@ -1815,8 +1814,8 @@
} else {
error = *ptr;
attributes = NULL;
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
return error;
}
@@ -1855,20 +1854,20 @@
memcpy(*text, retmsg->buf+sizeof(int), *count);
/* *text[*count] = 0; */
} else {
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
lowerror = LE_MALLOC;
return(-1);
}
} else {
error = *ptr;
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
*text = NULL;
return(error);
}
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
if((documenttype != NULL) && (strcmp(documenttype, "Image") != 0)) {
if(send_getanchorsobj(sockfd, objectID, &anchors, &ancount) == 0) {
@@ -1986,13 +1985,13 @@
ptr = (int *) retmsg->buf;
if(*ptr == 0) {
attributes = estrdup(retmsg->buf+sizeof(int));
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
} else {
error = *ptr;
attributes = NULL;
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
return error;
}
@@ -2040,20 +2039,20 @@
if(NULL != (*text = malloc(*count + 1))) {
memcpy(*text, ptr, *count);
} else {
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
lowerror = LE_MALLOC;
return(-1);
}
} else {
error = *ptr + 1024; /* move errors to >2024 */
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
*text = NULL;
return(error);
}
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
return(0);
}
@@ -2090,13 +2089,13 @@
ptr = (int *) retmsg->buf;
if(*ptr == 0) {
attributes = estrdup(retmsg->buf+sizeof(int));
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
} else {
error = *ptr;
attributes = NULL;
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
return error;
}
@@ -2133,20 +2132,20 @@
memcpy(*text, ptr+2, *count);
/* *text[*count] = 0; */
} else {
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
lowerror = LE_MALLOC;
return(-1);
}
} else {
error = *ptr + 1024; /* move errors to >2024 */
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
*text = NULL;
return(error);
}
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
return(0);
}
@@ -2183,13 +2182,13 @@
ptr = (int *) retmsg->buf;
if(*ptr == 0) {
attributes = estrdup(retmsg->buf+sizeof(int));
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
} else {
error = *ptr;
attributes = NULL;
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
return error;
}
*/
@@ -2231,8 +2230,8 @@
sum += *ptr;
}
} else {
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
lowerror = LE_MALLOC;
return(-1);
}
@@ -2245,8 +2244,8 @@
memcpy(*text, ptr, remlen);
} else {
efree(childIDs);
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
lowerror = LE_MALLOC;
return(-1);
}
@@ -2308,9 +2307,9 @@
return(-1);
}
- efree(retmsg);
error = *((int *) retmsg->buf);
efree(retmsg->buf);
+ efree(retmsg);
return(error);
}
@@ -4153,15 +4152,15 @@
ptr = (int *) retmsg->buf;
if((ptr == NULL) || (*ptr != 0)) {
error = *ptr;
- efree(retmsg);
if(retmsg->buf) efree(retmsg->buf);
+ efree(retmsg);
if(attributes) efree(attributes);
HWSOCK_FCLOSE(fd);
return(error);
}
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
/* passively open the data connection. The HG server is probably
already waiting for us.
@@ -4335,15 +4334,15 @@
ptr = (int *) retmsg->buf;
if((ptr == NULL) || (*ptr != 0)) {
- efree(retmsg);
if(retmsg->buf) efree(retmsg->buf);
+ efree(retmsg);
if(attributes) efree(attributes);
HWSOCK_FCLOSE(fd);
return(-1);
}
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
/* passively open the data connection. The HG server is probably
already waiting for us.
@@ -4433,8 +4432,8 @@
ptr++;
*objectID = *ptr;
} else {
- efree(retmsg);
if(retmsg->buf) efree(retmsg->buf);
+ efree(retmsg);
return(error);
}
@@ -4540,14 +4539,14 @@
ptr = (int *) retmsg->buf;
if((ptr == NULL) || (*ptr != 0)) {
- efree(retmsg);
if(retmsg->buf) efree(retmsg->buf);
+ efree(retmsg);
HWSOCK_FCLOSE(fd);
return(-1);
}
- efree(retmsg);
efree(retmsg->buf);
+ efree(retmsg);
return(0);
}
@@ -4772,8 +4771,8 @@
return(-1);
}
- efree(retmsg);
*answer = retmsg->buf;
+ efree(retmsg);
return(0);
}