IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 7, 2006, 2:52:13 PM (20 years ago)
Author:
Paul Price
Message:

Squashing memory leaks... some more yet to do.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_rel9_p0/psModules/src/imsubtract/pmSubtractBias.c

    r6080 r6351  
    1111 *  @author GLG, MHPCC
    1212 *
    13  *  @version $Revision: 1.6.8.1.2.4 $ $Name: not supported by cvs2svn $
    14  *  @date $Date: 2006-01-20 09:47:06 $
     13 *  @version $Revision: 1.6.8.1.2.5 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2006-02-08 00:52:13 $
    1515 *
    1616 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    376376        break;
    377377    case PM_FIT_POLY_ORD:
    378         overscanOpts->poly = psPolynomial1DAlloc(overscanOpts->order, PS_POLYNOMIAL_ORD);
    379         overscanOpts->poly = psVectorFitPolynomial1D(overscanOpts->poly, mask, 1, reduced, NULL,
    380                              ordinate);
     378        if (overscanOpts->poly && (overscanOpts->poly->nX != overscanOpts->order ||
     379                                   overscanOpts->poly->type != PS_POLYNOMIAL_ORD)) {
     380            psFree(overscanOpts->poly);
     381            overscanOpts->poly = psPolynomial1DAlloc(overscanOpts->order, PS_POLYNOMIAL_ORD);
     382        }
     383        psVectorFitPolynomial1D(overscanOpts->poly, mask, 1, reduced, NULL, ordinate);
    381384        psFree(reduced);
    382385        reduced = psPolynomial1DEvalVector(overscanOpts->poly, ordinate);
    383386        break;
    384387    case PM_FIT_POLY_CHEBY:
    385         overscanOpts->poly = psPolynomial1DAlloc(overscanOpts->order, PS_POLYNOMIAL_CHEB);
    386         overscanOpts->poly = psVectorFitPolynomial1D(overscanOpts->poly, mask, 1, reduced, NULL,
    387                              ordinate);
     388        if (overscanOpts->poly && (overscanOpts->poly->nX != overscanOpts->order ||
     389                                   overscanOpts->poly->type != PS_POLYNOMIAL_CHEB)) {
     390            psFree(overscanOpts->poly);
     391            overscanOpts->poly = psPolynomial1DAlloc(overscanOpts->order, PS_POLYNOMIAL_CHEB);
     392        }
     393        psVectorFitPolynomial1D(overscanOpts->poly, mask, 1, reduced, NULL, ordinate);
    388394        psFree(reduced);
    389395        reduced = psPolynomial1DEvalVector(overscanOpts->poly, ordinate);
     
    501507                // Reduce the overscans
    502508                psVector *reduced = overscanVector(overscanOpts, pixels, myStats);
     509                psFree(pixels);
    503510                if (! reduced) {
    504511                    return in;
     
    544551                // Reduce the overscans
    545552                psVector *reduced = overscanVector(overscanOpts, pixels, myStats);
     553                psFree(pixels);
    546554                if (! reduced) {
    547555                    return in;
Note: See TracChangeset for help on using the changeset viewer.