Changeset 4640:a115f3ac3b62 for init.c

Show
Ignore:
Timestamp:
2006-05-18 10:35:29 (3 years ago)
Author:
Rocco Rutte <pdmef@…>
Branch:
HEAD
Message:

Avoid safe_free() usage and add security checks

Add checks to check_sec.sh for memory functions.

These include a check for use of safe_free() instead of FREE() and a
check whether FREE(&...) is used.

For the former, SAFE_FREE_CHECKED is to be used, for the latter
FREE_CHECKED to avoid messages from check_sec.sh

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • init.c

    r4622 r4640  
    347347  case DT_PATH: 
    348348  case DT_STR: 
    349     FREE ((char**)p->data); 
     349    FREE ((char**)p->data);             /* __FREE_CHECKED__ */ 
    350350    break; 
    351351  } 
     
    478478       */ 
    479479      t = last; 
    480       safe_free(&t->template); 
     480      FREE(&t->template); 
    481481      break; 
    482482    } 
     
    534534    *list = spam->next; 
    535535    mutt_free_regexp(&spam->rx); 
    536     safe_free(&spam->template); 
    537     safe_free(&spam); 
     536    FREE(&spam->template); 
     537    FREE(&spam); 
    538538    return 1; 
    539539  } 
     
    546546      prev->next = spam->next; 
    547547      mutt_free_regexp(&spam->rx); 
    548       safe_free(&spam->template); 
    549       safe_free(&spam); 
     548      FREE(&spam->template); 
     549      FREE(&spam); 
    550550      spam = prev->next; 
    551551      ++nremoved; 
     
    982982    regcomp(&a->minor_rx, tmpminor, REG_ICASE|REG_EXTENDED); 
    983983 
    984     safe_free(&tmpminor); 
     984    FREE(&tmpminor); 
    985985 
    986986    dprint(5, (debugfile, "parse_attach_list: added %s/%s [%d]\n", 
     
    17601760          rfc822_free_address ((ADDRESS **) MuttVars[idx].data); 
    17611761        else 
    1762           FREE ((void *) MuttVars[idx].data); 
     1762          /* MuttVars[idx].data is already 'char**' (or some 'void**') or...  
     1763           * so cast to 'void*' is okay */ 
     1764          FREE ((void *) MuttVars[idx].data);           /* __FREE_CHECKED__ */ 
    17631765      } 
    17641766      else if (query || *s->dptr != '=') 
     
    18081810          rfc822_free_address ((ADDRESS **) MuttVars[idx].data); 
    18091811        else 
    1810           FREE ((void *) MuttVars[idx].data); 
     1812          /* MuttVars[idx].data is already 'char**' (or some 'void**') or...  
     1813           * so cast to 'void*' is okay */ 
     1814          FREE ((void *) MuttVars[idx].data);           /* __FREE_CHECKED__ */ 
    18111815 
    18121816        mutt_extract_token (tmp, s, 0); 
     
    30813085    FREE (&(*cur)->name); 
    30823086    FREE (&(*cur)->value); 
    3083     FREE (cur); 
     3087    FREE (cur);         /* __FREE_CHECKED__ */ 
    30843088    *cur = tmp; 
    30853089  }