IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 5, 2007, 6:31:38 PM (19 years ago)
Author:
eugene
Message:

fixing double frees, leaks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppImage/src/ppImageLoop.c

    r13667 r13675  
    1010bool ppImageLoop (pmConfig *config, ppImageOptions *options) {
    1111
     12    bool mdok;                      // Status of MD lookup
    1213    bool status;
    1314    pmChip *chip;
    1415    pmCell *cell;
    1516    pmReadout *readout;
    16 
    17     bool mdok;                      // Status of MD lookup
     17    psMetadata *stats = NULL;
     18
    1819    const char *statsName = psMetadataLookupStr(&mdok, config->arguments, "STATS"); // Filename for statistics
    19     psMetadata *stats = NULL;           // Container for statistics
    2020    FILE *statsFile = NULL;             // File stream for statistics
    2121    if (mdok && statsName && strlen(statsName) > 0) {
     
    2727            return false;
    2828        } else {
    29             stats = psMetadataAlloc();
     29            stats = psMetadataAlloc();
    3030        }
    3131        psFree(resolved);
     
    123123                    return false;
    124124                }
    125                 ppStats(stats, output->fpa, view,
    126                         options->satMask | options->badMask | options->maskValue,
    127                         config);
     125                psMetadata *newStats = ppStats(output->fpa, view,
     126                                               options->satMask | options->badMask | options->maskValue,
     127                                               config);
     128                if (!newStats) {
     129                    psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to generate stats for image.\n");
     130                    return false;
     131                }
     132                psMetadataCopy (stats, newStats);
     133                psFree (newStats);
    128134            }
    129135
     
    200206        psFree((void *)statsMDC);
    201207        fclose(statsFile);
    202 
    203208        psFree(stats);
    204209    }
Note: See TracChangeset for help on using the changeset viewer.