Changeset f536a99 for root_commands.c


Ignore:
Timestamp:
2008-08-25T20:48:48Z (11 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
b119d5d
Parents:
f3579fd
Message:

Fixed NULL pointer dereference on trying to read non-existent settings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • root_commands.c

    rf3579fd rf536a99  
    238238}
    239239
    240 static void cmd_showset( irc_t *irc, set_t *set )
    241 {
    242         char *s;
    243        
    244         if( set && ( s = set_getstr( &set, set->key ) ) ) /* HACK! */
    245                 irc_usermsg( irc, "%s = `%s'", set->key, s );
    246         else
    247                 irc_usermsg( irc, "%s is empty", set->key );
     240static void cmd_showset( irc_t *irc, set_t **head, char *key )
     241{
     242        char *val;
     243       
     244        if( ( val = set_getstr( head, key ) ) )
     245                irc_usermsg( irc, "%s = `%s'", key, val );
     246        else
     247                irc_usermsg( irc, "%s is empty", key );
    248248}
    249249
     
    484484                        else
    485485                        {
    486                                 cmd_showset( irc, set_find( &a->set, set_name ) );
     486                                cmd_showset( irc, &a->set, set_name );
    487487                        }
    488488                }
    489489                else if( set_name )
    490490                {
    491                         cmd_showset( irc, set_find( &a->set, set_name ) );
     491                        cmd_showset( irc, &a->set, set_name );
    492492                }
    493493                else
     
    496496                        while( s )
    497497                        {
    498                                 cmd_showset( irc, s );
     498                                cmd_showset( irc, &s, s->key );
    499499                                s = s->next;
    500500                        }
     
    864864                else
    865865                {
    866                         cmd_showset( irc, set_find( &irc->set, set_name ) );
     866                        cmd_showset( irc, &irc->set, set_name );
    867867                }
    868868        }
    869869        else if( set_name )
    870870        {
    871                 cmd_showset( irc, set_find( &irc->set, set_name ) );
     871                cmd_showset( irc, &irc->set, set_name );
    872872
    873873                if( strchr( set_name, '/' ) )
     
    879879                while( s )
    880880                {
    881                         cmd_showset( irc, s );
     881                        cmd_showset( irc, &s, s->key );
    882882                        s = s->next;
    883883                }
Note: See TracChangeset for help on using the changeset viewer.