IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 10, 2007, 1:37:41 PM (19 years ago)
Author:
jhoblitt
Message:

fix a memory allocation error in pxDataGet()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/pxdata.c.template

    r14035 r14104  
    4040    PS_ASSERT_PTR_NON_NULL(filename, NULL);
    4141
    42     psString filepath = NULL;
     42    {
     43        psString filepath = NULL;
    4344
    44     // look to see if PXDATA is set
    45     char *PXDATA = getenv("PXDATA");
    46     if (PXDATA) {
    47         // if it is, then prepend filename to PXDATA
    48         psStringAppend(&filepath, "%s/%s", PXDATA, filename);
     45        // look to see if PXDATA is set
     46        char *PXDATA = getenv("PXDATA");
     47        if (PXDATA) {
     48            // if it is, then prepend filename to PXDATA
     49            psStringAppend(&filepath, "%s/%s", PXDATA, filename);
     50        }
     51
     52        // see if we have a valid filename
     53        if (test_f(filepath)) {
     54            // if we do, slurp the file
     55            psString data = psSlurpFilename(filepath);
     56            if (!data) {
     57                psError(PS_ERR_IO, false, "failed to slurp %s", filepath);
     58                psFree(filepath);
     59                return NULL;
     60            }
     61            psTrace("pxdata", PS_LOG_INFO, "slupred %s", filepath);
     62            psFree(filepath);
     63
     64            return data;
     65        }
     66
     67        psFree(filepath);
    4968    }
    5069
    51     // see if we have a valid filename
    52     if (test_f(filepath)) {
    53         // if we do, slurp the file
    54         psString data = psSlurpFilename(filepath);
    55         if (!data) {
    56             psError(PS_ERR_IO, false, "failed to slurp %s", filepath);
     70    {
     71        psString filepath = NULL;
     72
     73        // look under our share path
     74        psStringAppend(&filepath, "%s/%s", "PKGDATADIR", filename);
     75
     76        // see if we have a valid filename
     77        if (test_f(filepath)) {
     78            // if we do, slurp the file
     79            psString data = psSlurpFilename(filepath);
     80            if (!data) {
     81                psError(PS_ERR_IO, false, "failed to slurp %s", filepath);
     82                psFree(filepath);
     83                return NULL;
     84            }
     85            psTrace("pxdata", PS_LOG_INFO, "slupred %s", filepath);
    5786            psFree(filepath);
    58             return NULL;
     87
     88            return data;
    5989        }
    60         psTrace("pxdata", PS_LOG_INFO, "slupred %s", filepath);
     90
    6191        psFree(filepath);
    62 
    63         return data;
    6492    }
    65     psFree(filepath);
    66 
    67     // look under our share path
    68     psStringAppend(&filepath, "%s/%s", "PKGDATADIR", filename);
    69 
    70     // see if we have a valid filename
    71     if (test_f(filepath)) {
    72         // if we do, slurp the file
    73         psString data = psSlurpFilename(filepath);
    74         if (!data) {
    75             psError(PS_ERR_IO, false, "failed to slurp %s", filepath);
    76             psFree(filepath);
    77             return NULL;
    78         }
    79         psTrace("pxdata", PS_LOG_INFO, "slupred %s", filepath);
    80         psFree(filepath);
    81 
    82         return data;
    83     }
    84     psFree(filepath);
    8593
    8694    // couldn't find a matching filename
Note: See TracChangeset for help on using the changeset viewer.