Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/sh_prelude.c

    r20 r26  
    133133}
    134134
    135 static int set_prelude_severity_int (char * str, int prelude_sev)
    136 {
    137         char * p = strtok (str, ", \t");
    138 
     135static int set_prelude_severity_int (const char * str, int prelude_sev)
     136{
     137        char * p;
     138        char * dup = strdup (str);
     139
     140        if (!dup)
     141                return -1;
     142
     143        p = strtok (dup, ", \t");
    139144        if (p) {
    140145                do {
     
    155160                        else if (0 == strcmp (p, _("info")))
    156161                                clear_and_set (prelude_sev, SH_ERR_INFO);
    157                         else
     162                        else {
     163                                free (dup);
    158164                                return -1;
     165                        }
    159166                        p = strtok (NULL, ", \t");
    160167                } while (p);
    161168        }
     169        free(dup);
    162170        return 0;
    163171}
    164172
    165 int sh_prelude_map_info (char * str)
     173int sh_prelude_map_info (const char * str)
    166174{
    167175        return (set_prelude_severity_int(str,(int)IDMEF_IMPACT_SEVERITY_INFO));
    168176}
    169 int sh_prelude_map_low (char * str)
     177int sh_prelude_map_low (const char * str)
    170178{
    171179        return (set_prelude_severity_int(str,(int)IDMEF_IMPACT_SEVERITY_LOW));
    172180}
    173 int sh_prelude_map_medium (char * str)
     181int sh_prelude_map_medium (const char * str)
    174182{
    175183        return (set_prelude_severity_int(str,(int)IDMEF_IMPACT_SEVERITY_MEDIUM));
    176184}
    177 int sh_prelude_map_high (char * str)
     185int sh_prelude_map_high (const char * str)
    178186{
    179187        return (set_prelude_severity_int(str,(int)IDMEF_IMPACT_SEVERITY_HIGH));
     
    300308}
    301309
     310/* flawfinder: ignore *//* is part of name, not access() */
    302311static void get_access_info(idmef_file_access_t *access, char * mode, int pos, int mpos)
    303312{
     
    308317        do {
    309318                if ( mode[pos] == 'r' ) {
    310                         ret = idmef_file_access_new_permission(access, &str, -1);
     319                        /* flawfinder: ignore *//* is part of name, not access() */
     320                        ret = idmef_file_access_new_permission(access, &str, IDMEF_LIST_APPEND);
    311321                        if ( ret < 0 )
    312322                                return;
     
    315325                }
    316326                else if ( mode[pos] == 'w' ) {
    317                         ret = idmef_file_access_new_permission(access, &str, -1);
     327                        /* flawfinder: ignore *//* is part of name, not access() */
     328                        ret = idmef_file_access_new_permission(access, &str, IDMEF_LIST_APPEND);
    318329                        if ( ret < 0 )
    319330                                return;
     
    322333                }
    323334                else if ( mode[pos] == 'x' || mode[pos] == 's' || mode[pos] == 't') {
    324                         ret = idmef_file_access_new_permission(access, &str, -1);
     335                        /* flawfinder: ignore *//* is part of name, not access() */
     336                        ret = idmef_file_access_new_permission(access, &str, IDMEF_LIST_APPEND);
    325337                        if ( ret < 0 )
    326338                                return;
     
    340352
    341353        if ( got == 0 ) {
    342                 ret = idmef_file_access_new_permission(access, &str, -1);
     354                /* flawfinder: ignore *//* is part of name, not access() */
     355                ret = idmef_file_access_new_permission(access, &str, IDMEF_LIST_APPEND);
    343356                if ( ret < 0 )
    344357                        return;
     
    360373        prelude_string_t *str;
    361374        idmef_checksum_t *checksum;
    362         idmef_file_access_t *access;
     375        idmef_file_access_t *access; /* flawfinder: ignore */
    363376        idmef_user_id_t *userid;
    364377        const char *suffix = (category == IDMEF_FILE_CATEGORY_CURRENT) ? "_new" : "_old";
    365378        char *mode = NULL;
    366379               
    367         ret = idmef_target_new_file(target, &file, -1);
     380        ret = idmef_target_new_file(target, &file, IDMEF_LIST_APPEND);
    368381        if ( ret < 0  )
    369382                return;
     
    429442        ptr = get_value(msg, _("chksum"), suffix);
    430443        if ( ptr ) {
    431                 ret = idmef_file_new_checksum(file, &checksum, 0);
     444                ret = idmef_file_new_checksum(file, &checksum, IDMEF_LIST_APPEND);
    432445                if ( ret < 0 )
    433446                        return;
     
    459472        mode = get_value(msg, _("mode"), suffix);
    460473        if ( mode ) {
    461                 ret = idmef_file_new_file_access(file, &access, -1);
    462                 if ( ret < 0 )
    463                         return;
    464 
     474                /* flawfinder: ignore *//* is part of name, not access() */
     475                ret = idmef_file_new_file_access(file, &access, IDMEF_LIST_APPEND);
     476                if ( ret < 0 )
     477                        return;
     478
     479                /* flawfinder: ignore *//* is part of name, not access() */
    465480                ret = idmef_file_access_new_user_id(access, &userid);
    466481                if ( ret < 0 )
     
    468483                idmef_user_id_set_type(userid, IDMEF_USER_ID_TYPE_OTHER_PRIVS);
    469484
     485                /* flawfinder: ignore *//* is part of name, not access() */
    470486                get_access_info ( access, mode, 7, 9 );
    471487        }
     
    475491                struct passwd *pw;
    476492               
    477                 ret = idmef_file_new_file_access(file, &access, 0);
    478                 if ( ret < 0 )
    479                         return;
    480 
     493                /* flawfinder: ignore *//* is part of name, not access() */
     494                ret = idmef_file_new_file_access(file, &access, IDMEF_LIST_APPEND);
     495                if ( ret < 0 )
     496                        return;
     497
     498                /* flawfinder: ignore *//* is part of name, not access() */
    481499                ret = idmef_file_access_new_user_id(access, &userid);
    482500                if ( ret < 0 )
     
    497515
    498516                if ( mode ) {
     517                        /* flawfinder: ignore *//* is part of name, not access() */
    499518                        get_access_info ( access, mode, 1, 3 );
    500519                }
     
    505524                struct group *gr;
    506525               
    507                 ret = idmef_file_new_file_access(file, &access, -1);
    508                 if ( ret < 0 )
    509                         return;
    510 
     526                /* flawfinder: ignore *//* is part of name, not access() */
     527                ret = idmef_file_new_file_access(file, &access, IDMEF_LIST_APPEND);
     528                if ( ret < 0 )
     529                        return;
     530
     531                /* flawfinder: ignore *//* is part of name, not access() */
    511532                ret = idmef_file_access_new_user_id(access, &userid);
    512533                if ( ret < 0 )
     
    527548
    528549                if ( mode ) {
    529                         get_access_info ( access, mode, 4, 6 );
     550                        get_access_info ( access, mode, 4, 6 ); /* flawfinder: ignore */
    530551                }
    531552        }
     
    629650        if ( ptr ) {
    630651                if ( ! source ) {
    631                         ret = idmef_alert_new_source(alert, &source, -1);
     652                        ret = idmef_alert_new_source(alert, &source, IDMEF_LIST_APPEND);
    632653                        if ( ret < 0 ) {
    633654                                free(ptr);
     
    642663                }
    643664               
    644                 ret = idmef_node_new_address(node, &address, -1);
     665                ret = idmef_node_new_address(node, &address, IDMEF_LIST_APPEND);
    645666                if ( ret < 0 ) {
    646667                        free(ptr);
     
    663684                else {
    664685                        if ( ! source ) {
    665                                 ret = idmef_alert_new_source(alert, &source, -1);
     686                                ret = idmef_alert_new_source(alert, &source, IDMEF_LIST_APPEND);
    666687                                if ( ret < 0 ) {
    667688                                        free(ptr);
     
    696717                idmef_user_set_category(user, IDMEF_USER_CATEGORY_OS_DEVICE);
    697718               
    698                 ret = idmef_user_new_user_id(user, &user_id, -1);
     719                ret = idmef_user_new_user_id(user, &user_id, IDMEF_LIST_APPEND);
    699720                if ( ret < 0 ) {
    700721                        free(ptr);
     
    770791                goto err;
    771792
    772         idmef_alert_set_analyzer(alert, idmef_analyzer_ref(prelude_client_get_analyzer(client)), 0);
     793        idmef_alert_set_analyzer(alert, idmef_analyzer_ref(prelude_client_get_analyzer(client)), IDMEF_LIST_PREPEND);
    773794       
    774795        ret = idmef_time_new_from_gettimeofday(&time);
     
    786807                goto err;
    787808       
    788         ret = idmef_alert_new_target(alert, &target, -1);
     809        ret = idmef_alert_new_target(alert, &target, IDMEF_LIST_APPEND);
    789810        if ( ret < 0 )
    790811                goto err;
     
    844865        idmef_confidence_set_rating(confidence, IDMEF_CONFIDENCE_RATING_HIGH);
    845866       
    846         ret = idmef_alert_new_additional_data(alert, &data, -1);
     867        ret = idmef_alert_new_additional_data(alert, &data, IDMEF_LIST_APPEND);
    847868        if ( ret < 0 )
    848869                goto err;
     
    890911
    891912
    892 int sh_prelude_set_profile(char *arg)
     913int sh_prelude_set_profile(const char *arg)
    893914{
    894915        if ( profile ) {
Note: See TracChangeset for help on using the changeset viewer.