Changeset 1029 for trunk/dll/avl.c


Ignore:
Timestamp:
Jun 23, 2008, 3:30:16 AM (17 years ago)
Author:
Gregg Young
Message:

Fixed early memory free; Added free_... functions to make fortify checking easier; Added fortify scopes; Delete now moves to trash can on systems with the xworkplace trash can installed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/avl.c

    r1009 r1029  
    3131  25 Aug 07 SHL load_archivers: add missing close on error path
    3232  29 Feb 08 GKY Use xfree where appropriate
     33  22 Jun 08 GKY Added free_archivers fot fortify checking
    3334
    3435***********************************************************************/
     
    5354static PSZ pszSrcFile = __FILE__;
    5455
    55 static void free_arc_type(ARC_TYPE * pat);
    5656static void fill_listbox(HWND hwnd, BOOL fShowAll, SHORT sOldSelect);
    5757
     
    217217}
    218218
     219VOID free_archivers(VOID)
     220{
     221  ARC_TYPE *pat, *next;
     222
     223  pat = arcsighead;
     224  while (pat) {
     225    next = pat->next;
     226    xfree(pat->id, pszSrcFile, __LINE__);
     227    xfree(pat->ext, pszSrcFile, __LINE__);
     228    xfree(pat->list, pszSrcFile, __LINE__);
     229    xfree(pat->extract, pszSrcFile, __LINE__);
     230    xfree(pat->create, pszSrcFile, __LINE__);
     231    xfree(pat->move, pszSrcFile, __LINE__);
     232    xfree(pat->delete, pszSrcFile, __LINE__);
     233    xfree(pat->signature, pszSrcFile, __LINE__);
     234    xfree(pat->startlist, pszSrcFile, __LINE__);
     235    xfree(pat->endlist, pszSrcFile, __LINE__);
     236    xfree(pat->exwdirs, pszSrcFile, __LINE__);
     237    xfree(pat->test, pszSrcFile, __LINE__);
     238    xfree(pat->createrecurse, pszSrcFile, __LINE__);
     239    xfree(pat->createwdirs, pszSrcFile, __LINE__);
     240    xfree(pat->movewdirs, pszSrcFile, __LINE__);
     241    xfree(pat, pszSrcFile, __LINE__);
     242    pat = next;
     243  }
     244  arcsighead = NULL;
     245}
     246
    219247//=== free_arc_type() free allocated ARC_TYPE ===
    220248
    221 static void free_arc_type(ARC_TYPE * pat)
     249VOID free_arc_type(ARC_TYPE * pat)
    222250{
    223251  if (pat) {
     
    12581286
    12591287#pragma alloc_text(MISC9,quick_find_type,find_type)
    1260 #pragma alloc_text(AVL,load_archivers, get_line_strip_comments, get_line_strip_white)
     1288#pragma alloc_text(AVL,load_archivers, get_line_strip_comments, get_line_strip_white, free_archivers)
    12611289#pragma alloc_text(FMARCHIVE,SBoxDlgProc,SDlgListboxSubclassProc)
    12621290#pragma alloc_text(ARCCNRS,ArcDateTime)
Note: See TracChangeset for help on using the changeset viewer.