Skip to content

Commit 4d75222

Browse files
author
drscholl
committed
added VALID_STR() debug macro for testing memory allocated by STRDUP()
validate_user() and validate_channel() should call list_validate() instead of just checking the first entry in the list
1 parent 2445fd1 commit 4d75222

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

buffer.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -393,9 +393,7 @@ send_queued_data (CONNECTION * con)
393393
Bytes_Out += n;
394394

395395
/* check to make sure the queue hasn't gotten too big */
396-
n =
397-
(con->class ==
398-
CLASS_SERVER) ? Server_Queue_Length : Client_Queue_Length;
396+
n = (ISSERVER (con)) ? Server_Queue_Length : Client_Queue_Length;
399397

400398
if (buffer_size (con->sendbuf) > n)
401399
{

debug.h

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#define CLEANUP debug_cleanup
3030
#define VALID(p) debug_valid(p,1)
3131
#define VALID_LEN debug_valid
32+
#define VALID_STR(p) debug_valid(p,strlen(p)+1)
3233
#define MEMORY_USED debug_usage()
3334

3435
/* internal functions, DO NOT CALL DIRECTLY -- use the above macros */

join.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ HANDLER (join)
119119
"You are already a member of channel %s", chan->name);
120120
return;
121121
}
122-
/* check to make sure the user has privilege to join */
122+
/* check to make sure the user has privilege to join */
123123
else if (user->level < chan->level)
124124
{
125125
log ("join(): channel %s is set to level %s", chan->name,

util.c

+9-11
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ validate_connection (CONNECTION * con)
336336
ASSERT_RETURN_IF_FAIL (VALID_LEN (con, sizeof (CONNECTION)), 0);
337337
ASSERT_RETURN_IF_FAIL (con->magic == MAGIC_CONNECTION, 0);
338338
ASSERT_RETURN_IF_FAIL ((con->class == CLASS_USER) ^ (con->user == 0), 0);
339-
ASSERT_RETURN_IF_FAIL (VALID (con->host), 0);
339+
ASSERT_RETURN_IF_FAIL (VALID_STR (con->host), 0);
340340
if (con->sendbuf)
341341
ASSERT_RETURN_IF_FAIL (buffer_validate (con->sendbuf), 0);
342342
if (con->recvbuf)
@@ -351,24 +351,22 @@ validate_user (USER * user)
351351
{
352352
ASSERT_RETURN_IF_FAIL (VALID_LEN (user, sizeof (USER)), 0);
353353
ASSERT_RETURN_IF_FAIL (user->magic == MAGIC_USER, 0);
354-
ASSERT_RETURN_IF_FAIL (VALID (user->nick), 0);
355-
ASSERT_RETURN_IF_FAIL (VALID (user->clientinfo), 0);
354+
ASSERT_RETURN_IF_FAIL (VALID_STR (user->nick), 0);
355+
ASSERT_RETURN_IF_FAIL (VALID_STR (user->clientinfo), 0);
356356
ASSERT_RETURN_IF_FAIL (user->con == 0
357357
|| VALID_LEN (user->con, sizeof (CONNECTION)), 0);
358-
ASSERT_RETURN_IF_FAIL (user->email == 0 || VALID (user->email), 0);
359-
ASSERT_RETURN_IF_FAIL (user->channels == 0
360-
|| VALID_LEN (user->channels, sizeof (LIST)), 0);
358+
ASSERT_RETURN_IF_FAIL (user->email == 0 || VALID_STR (user->email), 0);
359+
ASSERT_RETURN_IF_FAIL (list_validate (user->channels), 0);
361360
return 1;
362361
}
363362

364363
int
365364
validate_channel (CHANNEL * chan)
366365
{
367366
ASSERT_RETURN_IF_FAIL (VALID_LEN (chan, sizeof (CHANNEL)), 0);
368-
ASSERT_RETURN_IF_FAIL (chan->magic == MAGIC_CHANNEL, 0)
369-
ASSERT_RETURN_IF_FAIL (VALID (chan->name), 0);
370-
ASSERT_RETURN_IF_FAIL (chan->users == 0
371-
|| VALID_LEN (chan->users, sizeof (LIST)), 0);
367+
ASSERT_RETURN_IF_FAIL (chan->magic == MAGIC_CHANNEL, 0);
368+
ASSERT_RETURN_IF_FAIL (VALID_STR (chan->name), 0);
369+
ASSERT_RETURN_IF_FAIL (list_validate (chan->users), 0);
372370
return 1;
373371
}
374372

@@ -377,7 +375,7 @@ validate_hotlist (HOTLIST * h)
377375
{
378376
ASSERT_RETURN_IF_FAIL (VALID_LEN (h, sizeof (HOTLIST)), 0);
379377
ASSERT_RETURN_IF_FAIL (h->magic == MAGIC_HOTLIST, 0);
380-
ASSERT_RETURN_IF_FAIL (VALID (h->nick), 0);
378+
ASSERT_RETURN_IF_FAIL (VALID_STR (h->nick), 0);
381379
ASSERT_RETURN_IF_FAIL (list_validate (h->users), 0);
382380
return 1;
383381
}

0 commit comments

Comments
 (0)