IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38529


Ignore:
Timestamp:
Jun 24, 2015, 7:00:04 AM (11 years ago)
Author:
eugene
Message:

plug leaks, replace sprintf with snprintf

Location:
branches/eam_branches/ipp-20150616/Ohana/src/dvomerge/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20150616/Ohana/src/dvomerge/src/dvoverify.c

    r34405 r38529  
    2424
    2525    // check the photcode table
    26     sprintf (filename, "%s/Photcodes.dat", CATDIR);
     26    myAssert (snprintf (filename, DVO_MAX_PATH, "%s/Photcodes.dat", CATDIR) < DVO_MAX_PATH, "overflow");
    2727    if (!VerifyTableFile (filename)) {
    2828      Nbad ++;
     
    3434      Nbad ++;
    3535    }
     36    free (skyfile);
    3637
    3738    // check the image table
    38     sprintf (filename, "%s/Images.dat", CATDIR);
     39    myAssert (snprintf (filename, DVO_MAX_PATH, "%s/Images.dat", CATDIR) < DVO_MAX_PATH, "overflow");
    3940    if (!VerifyTableFile (filename)) {
    4041      Nbad ++;
     
    7172    fprintf (stderr, "NOTE: %d files are not sorted\n", NNotSorted);
    7273  }
     74
     75  FreeImageIDs ();
     76  FreeFailures ();
     77  SkyTableFree (sky);
     78  SkyListFree (skylist);
     79
     80  ohana_memcheck (TRUE);
     81  ohana_memdump (TRUE);
    7382  exit (0);
    7483}
  • branches/eam_branches/ipp-20150616/Ohana/src/dvomerge/src/dvoverify_args.c

    r37360 r38529  
    4545    }
    4646
     47    CHECK_IMAGE_ID = FALSE;
     48
    4749    int isGood = dvoverify_single (filename);
     50    free (filename);
     51
     52    ohana_memcheck (TRUE);
     53    ohana_memdump (TRUE);
     54
    4855    if (!isGood) exit (1);
    4956    exit (0);
  • branches/eam_branches/ipp-20150616/Ohana/src/dvomerge/src/dvoverify_catalogs.c

    r37360 r38529  
    2727    if (!HostTableTestHost(skylist[0].regions[i], HOST_ID)) continue;
    2828
    29     sprintf (filename, "%s/%s.cpt", mycatdir, skylist[0].regions[i][0].name);
     29    myAssert (snprintf (filename, DVO_MAX_PATH, "%s/%s.cpt", mycatdir, skylist[0].regions[i][0].name) < DVO_MAX_PATH, "overflow");
    3030    if (!VerifyTableFile (filename)) {
    3131      Nbad ++;
     
    3434    }
    3535
    36     sprintf (filename, "%s/%s.cps", mycatdir, skylist[0].regions[i][0].name);
     36    myAssert (snprintf (filename, DVO_MAX_PATH, "%s/%s.cps", mycatdir, skylist[0].regions[i][0].name) < DVO_MAX_PATH, "overflow");
    3737    if (!VerifyTableFile (filename)) {
    3838      Nbad ++;
     
    4040    }
    4141
    42     sprintf (filename, "%s/%s.cpm", mycatdir, skylist[0].regions[i][0].name);
     42    myAssert (snprintf (filename, DVO_MAX_PATH, "%s/%s.cpm", mycatdir, skylist[0].regions[i][0].name) < DVO_MAX_PATH, "overflow");
    4343    if (!VerifyTableFile (filename)) {
    4444      Nbad ++;
     
    4747    }
    4848
    49     sprintf (filename, "%s/%s.cpx", mycatdir, skylist[0].regions[i][0].name);
     49    myAssert (snprintf (filename, DVO_MAX_PATH, "%s/%s.cpx", mycatdir, skylist[0].regions[i][0].name) < DVO_MAX_PATH, "overflow");
    5050    if (!VerifyTableFile (filename)) {
    5151      Nbad ++;
     
    5454    }
    5555
    56     sprintf (filename, "%s/%s.cpy", mycatdir, skylist[0].regions[i][0].name);
     56    myAssert (snprintf (filename, DVO_MAX_PATH, "%s/%s.cpy", mycatdir, skylist[0].regions[i][0].name) < DVO_MAX_PATH, "overflow");
    5757    if (!VerifyTableFile (filename)) {
    5858      Nbad ++;
     
    6161    }
    6262
    63     sprintf (filename, "%s/%s.cpt", mycatdir, skylist[0].regions[i][0].name);
     63    myAssert (snprintf (filename, DVO_MAX_PATH, "%s/%s.cpt", mycatdir, skylist[0].regions[i][0].name) < DVO_MAX_PATH, "overflow");
    6464    if (!skipIndexCheck) {
    6565      if (!CheckCatalogIndexes(filename, skylist[0].regions[i])){
  • branches/eam_branches/ipp-20150616/Ohana/src/dvomerge/src/dvoverify_utils.c

    r38471 r38529  
    55static char **failures = NULL;
    66
    7 void InitFailures () {
    8   ALLOCATE (failures, char *, NFAILURES);
     7void InitFailures (void) {
     8  ALLOCATE_ZERO (failures, char *, NFAILURES);
     9}
     10
     11void FreeFailures (void) {
     12  int i;
     13
     14  if (!failures) return;
     15  for (i = 0; i < NFAILURES; i++) {
     16    FREE (failures[i]);
     17  }
     18  FREE (failures);
    919}
    1020
     
    128138        fprintf (stderr, "unable to read header for %s, extension %d (or file has excess bytes)\n", filename, Next);
    129139      }
    130       fclose(file);
     140      fclose (file);
     141      gfits_free_header (&header);
    131142      return (FALSE);
    132143    }
     
    175186
    176187  // set the parameters which guide catalog open/load/create
    177     dvo_catalog_init (&catalog, TRUE);
     188  dvo_catalog_init (&catalog, TRUE);
    178189  catalog.filename  = filename;
    179190  catalog.catflags  = DVO_LOAD_AVERAGE | DVO_LOAD_MEASURE | DVO_LOAD_LENSING | DVO_LOAD_LENSOBJ;
     
    183194  if (!dvo_catalog_open (&catalog, region, VERBOSE, "r")) {
    184195    fprintf (stderr, "ERROR: failure to open catalog file %s\n", catalog.filename);
     196    dvo_catalog_free (&catalog);
    185197    return FALSE;
    186198  }
     
    463475
    464476  char ImageCat[DVO_MAX_PATH];
    465   snprintf (ImageCat, DVO_MAX_PATH, "%s/Images.dat", catdir);
     477  myAssert (snprintf (ImageCat, DVO_MAX_PATH, "%s/Images.dat", catdir) < DVO_MAX_PATH, "overflow");
    466478
    467479  // load the iage database table
     
    506518    IDlist[id] = i;
    507519  }
    508 
    509   // free image table here?
     520 
    510521  // (in the future, I'll have to do the image table read in segments
    511522  // it is just getting to be too large...)
    512523  dvo_image_unlock (&inDB); // unlock input
     524  gfits_db_free (&inDB);
    513525
    514526  return TRUE;
     527}
     528
     529void FreeImageIDs (void) {
     530  FREE (IDlist);
    515531}
    516532
Note: See TracChangeset for help on using the changeset viewer.