IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 11, 2007, 12:31:46 PM (19 years ago)
Author:
Paul Price
Message:

Plugging memory leak.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppSim/src/ppSimSetPSF.c

    r14657 r14814  
    1111    psf = psMetadataLookupPtr (&status, chip->analysis, "PSPHOT.PSF");
    1212    if (psf) {
    13         return true;
     13        return true;
    1414    }
    1515
     
    2020    char *psfModelName = psMetadataLookupStr(&status, config->arguments, "PSF.MODEL"); // Seeing sigma (pix)
    2121    if (psfModelName == NULL) {
    22         psfModelName = defaultModel;
     22        psfModelName = defaultModel;
    2323    }
    2424
    2525    pmModelType type = pmModelClassGetType (psfModelName);
    2626    if (type == -1) {
    27         psError (PS_ERR_UNKNOWN, false, "invalid model name");
     27        psError (PS_ERR_UNKNOWN, false, "invalid model name");
    2828        return false;
    2929    }
     
    3232    psf = pmPSFAlloc (type, true, NULL);
    3333    for (int i = 0; i < psf->params->n; i++) {
    34        
     34
    3535            if (i == PM_PAR_SKY)  continue;
    3636            if (i == PM_PAR_I0)   continue;
     
    3838            if (i == PM_PAR_YPOS) continue;
    3939
    40             // generate a 'constant' polynomial, unmasked
     40            // generate a 'constant' polynomial, unmasked
    4141            param = psPolynomial2DAlloc(PS_POLYNOMIAL_ORD, 0, 0);
    42             param->mask[0][0] = 0;
     42            param->mask[0][0] = 0;
    4343
    4444            psf->params->data[i] = param;
     
    4747    psEllipseAxes axes;
    4848    psEllipsePol pol;
    49    
     49
    5050    // supply the semi-major axis
    5151    axes.major = seeing / 2.0;
     
    6565
    6666    if (!strcasecmp (psfModelName, "PS_MODEL_QGAUSS")) {
    67         param = psf->params->data[PM_PAR_7];
    68         param->coeff[0][0] = 1.0;
     67        param = psf->params->data[PM_PAR_7];
     68        param->coeff[0][0] = 1.0;
    6969    }
    7070
    7171    if (!strcasecmp (psfModelName, "PS_MODEL_RGAUSS")) {
    72         param = psf->params->data[PM_PAR_7];
    73         param->coeff[0][0] = 1.0;
     72        param = psf->params->data[PM_PAR_7];
     73        param->coeff[0][0] = 1.0;
    7474    }
    7575
    7676    psMetadataAdd (chip->analysis, PS_LIST_TAIL, "PSPHOT.PSF", PS_DATA_UNKNOWN,  "psphot psf", psf);
     77    psFree(psf);                        // Drop reference
     78
    7779    return true;
    7880}
Note: See TracChangeset for help on using the changeset viewer.