Skip to content

Commit b7790c5

Browse files
author
drscholl
committed
fixed compilation warnings about unused `len'
pop_user_server() had a bad log() message with the message tag value causing a segfault muzzle() should ensure that db is not NULL before using it
1 parent abfde62 commit b7790c5

File tree

4 files changed

+58
-45
lines changed

4 files changed

+58
-45
lines changed

browse.c

+1
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ HANDLER (browse_new)
170170
char *nick;
171171
int results = Max_Browse_Result;
172172

173+
(void) len;
173174
ASSERT (validate_connection (con));
174175
if (pop_user (con, &pkt, &sender))
175176
return;

channel.c

+3
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,7 @@ HANDLER (channel_drop)
564564
int ac = -1;
565565
CHANNEL *chan;
566566

567+
(void) len;
567568
ASSERT (validate_connection (con));
568569
if (pop_user (con, &pkt, &sender))
569570
return;
@@ -616,6 +617,7 @@ HANDLER (channel_wallop)
616617
CHANNEL *chan;
617618
char *chanName;
618619

620+
(void) len;
619621
ASSERT (validate_connection (con));
620622
if (pop_user (con, &pkt, &sender))
621623
return;
@@ -808,6 +810,7 @@ HANDLER (channel_invite)
808810
LIST *list;
809811
CHANNEL *chan;
810812

813+
(void) len;
811814
ASSERT (validate_connection (con));
812815
if (pop_user (con, &pkt, &sender))
813816
return;

muzzle.c

+5-2
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,12 @@ HANDLER (muzzle)
9191
}
9292
if (user)
9393
user->muzzled = 0;
94-
/* if we set muzzled, it should have been registered */
94+
/* if we set muzzled, it should have been registered. however, this
95+
* could fail if the server ran out of memory when trying to force
96+
* registration of the user, so best check it here to avoid a core */
9597
ASSERT (db != 0);
96-
db->flags &= ~ON_MUZZLED;
98+
if(db)
99+
db->flags &= ~ON_MUZZLED;
97100
}
98101

99102
/* relay to peer servers */

serverlib.c

+49-43
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,12 @@ free_channel (CHANNEL * chan)
172172
list_free (chan->bans, (list_destroy_t) free_ban);
173173
list_free (chan->ops, (list_destroy_t) free_pointer);
174174

175-
/* free invite list*/
176-
for(list=chan->invited;list;list=list->next)
175+
/* free invite list */
176+
for (list = chan->invited; list; list = list->next)
177177
{
178-
USER *user=list->data;
179-
user->invited=list_delete(user->invited,chan);
178+
USER *user = list->data;
179+
180+
user->invited = list_delete (user->invited, chan);
180181
}
181182

182183
FREE (chan);
@@ -245,35 +246,38 @@ validate_hotlist (HOTLIST * h)
245246

246247
/* like pop_user(), but allows `nick' to be another server */
247248
int
248-
pop_user_server (CONNECTION *con, int tag, char **pkt, char **nick, USER **user)
249+
pop_user_server (CONNECTION * con, int tag, char **pkt, char **nick,
250+
USER ** user)
249251
{
250-
if(ISSERVER(con))
252+
if (ISSERVER (con))
251253
{
252-
if(**pkt!=':')
254+
if (**pkt != ':')
253255
{
254-
log("pop_user_server(): (tag %d) server message is missing sender",
255-
tag);
256+
log
257+
("pop_user_server(): (tag %d) server message is missing sender",
258+
tag);
256259
return -1;
257260
}
258261
(*pkt)++;
259-
*nick = next_arg(pkt);
260-
if(!is_server(*nick))
262+
*nick = next_arg (pkt);
263+
if (!is_server (*nick))
261264
{
262-
*user=hash_lookup(Users,*nick);
263-
if(!*user)
265+
*user = hash_lookup (Users, *nick);
266+
if (!*user)
264267
{
265-
log("pop_user_server(): (tag %d) could not find user %s", *user);
268+
log ("pop_user_server(): (tag %d) could not find user %s",
269+
tag, *user);
266270
return -1;
267271
}
268272
}
269273
else
270-
*user=0;
274+
*user = 0;
271275
}
272276
else
273277
{
274-
ASSERT(ISUSER(con));
275-
*user=con->user;
276-
*nick=(*user)->nick;
278+
ASSERT (ISUSER (con));
279+
*user = con->user;
280+
*nick = (*user)->nick;
277281
}
278282
return 0;
279283
}
@@ -380,23 +384,23 @@ invalid_channel_msg (CONNECTION * con)
380384
}
381385

382386
void
383-
truncate_reason(char *s)
387+
truncate_reason (char *s)
384388
{
385-
if(Max_Reason > 0 && strlen (s) > (unsigned) Max_Reason)
389+
if (Max_Reason > 0 && strlen (s) > (unsigned) Max_Reason)
386390
*(s + Max_Reason) = 0;
387391
}
388392

389393
void
390-
invalid_nick_msg(CONNECTION *con)
394+
invalid_nick_msg (CONNECTION * con)
391395
{
392-
if(ISUSER(con))
393-
send_cmd(con,MSG_SERVER_NOSUCH,"invalid nickname");
396+
if (ISUSER (con))
397+
send_cmd (con, MSG_SERVER_NOSUCH, "invalid nickname");
394398
}
395399

396400
USER *
397401
new_user (void)
398402
{
399-
USER *u = CALLOC (1,sizeof(USER));
403+
USER *u = CALLOC (1, sizeof (USER));
400404

401405
if (!u)
402406
{
@@ -412,7 +416,7 @@ new_user (void)
412416
CONNECTION *
413417
new_connection (void)
414418
{
415-
CONNECTION *c = CALLOC (1, sizeof(CONNECTION));
419+
CONNECTION *c = CALLOC (1, sizeof (CONNECTION));
416420

417421
if (!c)
418422
{
@@ -426,11 +430,12 @@ new_connection (void)
426430
}
427431

428432
static int
429-
vform_message(char *d, int dsize, int tag, const char *fmt, va_list ap)
433+
vform_message (char *d, int dsize, int tag, const char *fmt, va_list ap)
430434
{
431435
int len;
432-
vsnprintf(d+4,dsize-4,fmt,ap);
433-
len=strlen(d+4);
436+
437+
vsnprintf (d + 4, dsize - 4, fmt, ap);
438+
len = strlen (d + 4);
434439
set_tag (d, tag);
435440
set_len (d, len);
436441
return (len + 4);
@@ -443,32 +448,33 @@ form_message (char *d, int dsize, int tag, const char *fmt, ...)
443448
int len;
444449

445450
va_start (ap, fmt);
446-
len=vform_message(d, dsize, tag, fmt, ap);
451+
len = vform_message (d, dsize, tag, fmt, ap);
447452
va_end (ap);
448453
return len;
449454
}
450455

451456
void
452-
send_cmd_pre(CONNECTION *con, unsigned int tag, const char *prefix, const char *fmt, ...)
457+
send_cmd_pre (CONNECTION * con, unsigned int tag, const char *prefix,
458+
const char *fmt, ...)
453459
{
454460
va_list ap;
455461
int len;
456462

457-
va_start(ap,fmt);
463+
va_start (ap, fmt);
458464
/* if the user's client supports use of real numerics send the raw */
459-
if(con->numerics)
460-
len=vform_message(Buf,sizeof(Buf),tag,fmt,ap);
465+
if (con->numerics)
466+
len = vform_message (Buf, sizeof (Buf), tag, fmt, ap);
461467
else
462468
{
463-
/*otherwise prefix it with a descriptive string and send it as a 404*/
464-
strncpy(Buf+4,prefix,sizeof(Buf)-4);
465-
len=strlen(Buf+4);
466-
vsnprintf(Buf+4+len,sizeof(Buf)-4-len,fmt,ap);
467-
len+=strlen(Buf+4+len);
468-
set_tag(Buf,MSG_SERVER_NOSUCH);
469-
set_len(Buf,len);
470-
len+=4;
469+
/*otherwise prefix it with a descriptive string and send it as a 404 */
470+
strncpy (Buf + 4, prefix, sizeof (Buf) - 4);
471+
len = strlen (Buf + 4);
472+
vsnprintf (Buf + 4 + len, sizeof (Buf) - 4 - len, fmt, ap);
473+
len += strlen (Buf + 4 + len);
474+
set_tag (Buf, MSG_SERVER_NOSUCH);
475+
set_len (Buf, len);
476+
len += 4;
471477
}
472-
queue_data(con,Buf,len);
473-
va_end(ap);
478+
queue_data (con, Buf, len);
479+
va_end (ap);
474480
}

0 commit comments

Comments
 (0)