Browse code

- *_realloc(0, size) fix: in DBG_*M_MALLOC mode a *_realloc(0, size) would generate an abort() although this is perfectly legal (thanks to Bogdan)

Andrei Pelinescu-Onciul authored on 15/08/2003 14:19:18
Showing 5 changed files
... ...
@@ -272,7 +272,8 @@ DEFS+= $(extra_defs) \
272 272
 	 -DUSE_IPV6 \
273 273
 	 -DUSE_TCP \
274 274
 	 -DDISABLE_NAGLE \
275
-	 -DF_MALLOC \
275
+	 -DDBG_QM_MALLOC \
276
+	# -DF_MALLOC \
276 277
 	# -DDBG_F_MALLOC \
277 278
 	# -DDBG_QM_MALLOC \
278 279
 	 #-DF_MALLOC \
... ...
@@ -2,8 +2,13 @@ $Id$
2 2
 
3 3
 ( - todo, x - done)
4 4
 
5
+- regex subst on uris?
6
+- port receive.c pre_script_cb fix from stable
7
+- extend alias to include port numbers :
8
+    something like alias= foo1.bar:5080 foo2.bar foo3.bar:*
9
+
5 10
 release:
6
-- check via ipv6 fixes and backport to stable
11
+x check via ipv6 fixes and backport to stable
7 12
 x fix kill(0, SIGTERM) on startup error (will kill also the launching shell
8 13
  if non-interactive)
9 14
 - fix modules destroy (some modules will try to free uninitialized resources
... ...
@@ -322,7 +322,7 @@ void* fm_realloc(struct fm_block* qm, void* p, unsigned int size)
322 322
 #ifdef DBG_F_MALLOC
323 323
 	DBG("fm_realloc(%p, %p, %d) called from %s: %s(%d)\n", qm, p, size,
324 324
 			file, func, line);
325
-	if (p>(void*)qm->last_frag || p<(void*)qm->first_frag){
325
+	if ((p)&&(p>(void*)qm->last_frag || p<(void*)qm->first_frag)){
326 326
 		LOG(L_CRIT, "BUG: fm_free: bad pointer %p (out of memory block!) - "
327 327
 				"aborting\n", p);
328 328
 		abort();
... ...
@@ -469,7 +469,7 @@ void* qm_realloc(struct qm_block* qm, void* p, unsigned int size)
469 469
 #ifdef DBG_QM_MALLOC
470 470
 	DBG("qm_realloc(%p, %p, %d) called from %s: %s(%d)\n", qm, p, size,
471 471
 			file, func, line);
472
-	if (p>(void*)qm->last_frag_end || p<(void*)qm->first_frag){
472
+	if ((p)&&(p>(void*)qm->last_frag_end || p<(void*)qm->first_frag)){
473 473
 		LOG(L_CRIT, "BUG: qm_free: bad pointer %p (out of memory block!) - "
474 474
 				"aborting\n", p);
475 475
 		abort();
... ...
@@ -102,7 +102,7 @@ struct tcp_connection{
102 102
 	volatile int refcnt;
103 103
 	int type; /* PROTO_TCP or a protocol over it, e.g. TLS */
104 104
 	int flags; /* connection related flags */
105
-	int state; /* connection state, not used by raw tcp */
105
+	int state; /* connection state */
106 106
 	void* extra_data; /* extra data associated to the connection, 0 for tcp*/
107 107
 	int timeout; /* connection timeout, after this it will be removed*/
108 108
 	unsigned addr_hash; /* hash indexes in the 2 tables */