IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39233


Ignore:
Timestamp:
Dec 5, 2015, 2:07:56 PM (11 years ago)
Author:
eugene
Message:

test for invalid matrix size in CreateBuffer, CreateBuffer3D

Location:
trunk/Ohana/src/opihi
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.astro/cdensify.c

    r38463 r39233  
    8484  gfits_free_matrix (&bf[0].matrix);
    8585  gfits_free_header (&bf[0].header);
    86   CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0);
     86  if (!CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    8787  strcpy (bf[0].file, "(empty)");
    8888  PutCoords (&newcoords, &bf[0].header);
  • trunk/Ohana/src/opihi/cmd.astro/cdhistogram.c

    r38062 r39233  
    101101  gfits_free_matrix (&bf[0].matrix);
    102102  gfits_free_header (&bf[0].header);
    103   CreateBuffer3D (bf, Nx, Ny, Nz, -32, 0.0, 1.0);
     103  if (!CreateBuffer3D (bf, Nx, Ny, Nz, -32, 0.0, 1.0)) return FALSE;
    104104  strcpy (bf[0].file, "(empty)");
    105105  PutCoords (&newcoords, &bf[0].header);
  • trunk/Ohana/src/opihi/cmd.astro/fiximage.c

    r34088 r39233  
    2626  gfits_free_matrix (&mask[0].matrix);
    2727  gfits_free_header (&mask[0].header);
    28   CreateBuffer (mask, Nx, Ny, -32, 0.0, 1.0);
     28  if (!CreateBuffer (mask, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    2929  strcpy (mask[0].file, "(empty)");
    3030  memset (mask[0].matrix.buffer, 0, Nx*Ny*sizeof(float));
  • trunk/Ohana/src/opihi/cmd.astro/getcoords.c

    r37807 r39233  
    7373  gfits_free_matrix (&outC1[0].matrix);
    7474  gfits_free_header (&outC1[0].header);
    75   CreateBuffer (outC1, Nx, Ny, -32, 1.0, 0.0);
     75  if (!CreateBuffer (outC1, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
    7676
    7777  gfits_free_matrix (&outC2[0].matrix);
    7878  gfits_free_header (&outC2[0].header);
    79   CreateBuffer (outC2, Nx, Ny, -32, 1.0, 0.0);
     79  if (!CreateBuffer (outC2, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
    8080
    8181  float *valC1 = (float *) outC1[0].matrix.buffer;
  • trunk/Ohana/src/opihi/cmd.astro/imfit.c

    r34088 r39233  
    141141
    142142    strcpy (out[0].file, "(empty)");
    143     CreateBuffer (out, 2*nx, 2*ny, -32, 0.0, 1.0);
     143    if (!CreateBuffer (out, 2*nx, 2*ny, -32, 0.0, 1.0)) return FALSE;
    144144
    145145    /* four panels: 1) raw image. 2) fit  3) raw - fit   4) ?? */
  • trunk/Ohana/src/opihi/cmd.astro/shimage.c

    r37807 r39233  
    3030  int Ny = src[0].header.Naxis[1];
    3131
    32   gfits_free_matrix (&FrIm[0].matrix); gfits_free_header (&FrIm[0].header); CreateBuffer (FrIm, Nx, Ny, -32, 1.0, 0.0);
    33   gfits_free_matrix (&FiIm[0].matrix); gfits_free_header (&FiIm[0].header); CreateBuffer (FiIm, Nx, Ny, -32, 1.0, 0.0);
     32  gfits_free_matrix (&FrIm[0].matrix); gfits_free_header (&FrIm[0].header); if (!CreateBuffer (FrIm, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
     33  gfits_free_matrix (&FiIm[0].matrix); gfits_free_header (&FiIm[0].header); if (!CreateBuffer (FiIm, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
    3434
    3535  // l=0 allocates space for a single value
  • trunk/Ohana/src/opihi/cmd.astro/vshimage.c

    r37807 r39233  
    3232  int Ny = src[0].header.Naxis[1];
    3333
    34   gfits_free_matrix (&Rbim[0].matrix); gfits_free_header (&Rbim[0].header); CreateBuffer (Rbim, Nx, Ny, -32, 1.0, 0.0);
    35   gfits_free_matrix (&Reim[0].matrix); gfits_free_header (&Reim[0].header); CreateBuffer (Reim, Nx, Ny, -32, 1.0, 0.0);
    36   gfits_free_matrix (&Dbim[0].matrix); gfits_free_header (&Dbim[0].header); CreateBuffer (Dbim, Nx, Ny, -32, 1.0, 0.0);
    37   gfits_free_matrix (&Deim[0].matrix); gfits_free_header (&Deim[0].header); CreateBuffer (Deim, Nx, Ny, -32, 1.0, 0.0);
     34  gfits_free_matrix (&Rbim[0].matrix); gfits_free_header (&Rbim[0].header); if (!CreateBuffer (Rbim, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
     35  gfits_free_matrix (&Reim[0].matrix); gfits_free_header (&Reim[0].header); if (!CreateBuffer (Reim, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
     36  gfits_free_matrix (&Dbim[0].matrix); gfits_free_header (&Dbim[0].header); if (!CreateBuffer (Dbim, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
     37  gfits_free_matrix (&Deim[0].matrix); gfits_free_header (&Deim[0].header); if (!CreateBuffer (Deim, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
    3838
    3939  // l=0 allocates space for a single value
  • trunk/Ohana/src/opihi/cmd.data/densify.c

    r36489 r39233  
    9696  gfits_free_matrix (&bf[0].matrix);
    9797  gfits_free_header (&bf[0].header);
    98   CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0);
     98  if (!CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    9999  strcpy (bf[0].file, "(empty)");
    100100 
  • trunk/Ohana/src/opihi/cmd.data/fft2d.c

    r16107 r39233  
    5858 
    5959  /* fix up output headers (real) & allocate data buffer */
    60   CreateBuffer (Ore, Nx, Ny, -32, 0.0, 1.0);
    61   CreateBuffer (Oim, Nx, Ny, -32, 0.0, 1.0);
     60  if (!CreateBuffer (Ore, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
     61  if (!CreateBuffer (Oim, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    6262
    6363  gfits_copy_header (&Ire[0].header, &Ore[0].header);
  • trunk/Ohana/src/opihi/cmd.data/gridify.c

    r33963 r39233  
    8585    gfits_free_matrix (&bf[0].matrix);
    8686    gfits_free_header (&bf[0].header);
    87     CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0);
     87    if (!CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    8888    strcpy (bf[0].file, "(empty)");
    8989  }
     
    111111    gfits_free_matrix (&ct[0].matrix);
    112112    gfits_free_header (&ct[0].header);
    113     CreateBuffer (ct, Nx, Ny, -32, 0.0, 1.0);
     113    if (!CreateBuffer (ct, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    114114    strcpy (ct[0].file, "(empty)");
    115115
  • trunk/Ohana/src/opihi/cmd.data/mcreate.c

    r38062 r39233  
    2727
    2828  if (Nz) {
    29     CreateBuffer3D (buf, Nx, Ny, Nz, -32, 1.0, 0.0);
     29    if (!CreateBuffer3D (buf, Nx, Ny, Nz, -32, 1.0, 0.0)) return FALSE;
    3030  } else {
    31     CreateBuffer (buf, Nx, Ny, -32, 1.0, 0.0);
     31    if (!CreateBuffer (buf, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
    3232  }
    3333  return (TRUE);
  • trunk/Ohana/src/opihi/cmd.data/medimage_commands.c

    r36679 r39233  
    8282  gfits_free_matrix (&output->matrix);
    8383  gfits_free_header (&output->header);
    84   CreateBuffer (output, Nx, Ny, -32, 0.0, 1.0);
     84  if (!CreateBuffer (output, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    8585
    8686  float *outvalue = (float *) output->matrix.buffer;
  • trunk/Ohana/src/opihi/cmd.data/mslice.c

    r38234 r39233  
    3535  gfits_free_matrix (&out[0].matrix);
    3636  gfits_free_header (&out[0].header);
    37   CreateBuffer (out, Nx, Ny, -32, 1.0, 0.0);
     37  if (!CreateBuffer (out, Nx, Ny, -32, 1.0, 0.0)) return FALSE;
    3838
    3939  float *inF  = (float *) in[0].matrix.buffer + plane*Nx*Ny;
  • trunk/Ohana/src/opihi/cmd.data/shift.c

    r34088 r39233  
    4848  gfits_free_matrix (&out[0].matrix);
    4949  gfits_free_header (&out[0].header);
    50   CreateBuffer (out, nx, ny, -32, 0.0, 1.0);
     50  if (!CreateBuffer (out, nx, ny, -32, 0.0, 1.0)) return FALSE;
    5151
    5252  DXin = (dx < 0) ? -dx : 0;
  • trunk/Ohana/src/opihi/cmd.data/squash3d.c

    r38062 r39233  
    4646        int oNx = iNz;
    4747        int oNy = iNy;
    48         CreateBuffer (tgt, oNx, oNy, -32, 0.0, 1.0);
     48        if (!CreateBuffer (tgt, oNx, oNy, -32, 0.0, 1.0)) return FALSE;
    4949        float *oBuf  = (float *) tgt[0].matrix.buffer;
    5050
     
    7070        int oNx = iNx;
    7171        int oNy = iNz;
    72         CreateBuffer (tgt, oNx, oNy, -32, 0.0, 1.0);
     72        if (!CreateBuffer (tgt, oNx, oNy, -32, 0.0, 1.0)) return FALSE;
    7373        float *oBuf  = (float *) tgt[0].matrix.buffer;
    7474
     
    9494        int oNx = iNx;
    9595        int oNy = iNy;
    96         CreateBuffer (tgt, oNx, oNy, -32, 0.0, 1.0);
     96        if (!CreateBuffer (tgt, oNx, oNy, -32, 0.0, 1.0)) return FALSE;
    9797        float *oBuf  = (float *) tgt[0].matrix.buffer;
    9898
  • trunk/Ohana/src/opihi/cmd.data/tdhistogram.c

    r38062 r39233  
    140140    gfits_free_matrix (&bf[0].matrix);
    141141    gfits_free_header (&bf[0].header);
    142     CreateBuffer3D (bf, Nx, Ny, Nz, -32, 0.0, 1.0);
     142    if (!CreateBuffer3D (bf, Nx, Ny, Nz, -32, 0.0, 1.0)) return FALSE;
    143143    strcpy (bf[0].file, "(empty)");
    144144
  • trunk/Ohana/src/opihi/cmd.data/vgrid.c

    r20936 r39233  
    4343  gfits_free_matrix (&bf[0].matrix);
    4444  gfits_free_header (&bf[0].header);
    45   CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0);
     45  if (!CreateBuffer (bf, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    4646  strcpy (bf[0].file, "(empty)");
    4747
  • trunk/Ohana/src/opihi/dimm/camera_cmds.c

    r23530 r39233  
    107107    gfits_free_matrix (&buf[0].matrix);
    108108    gfits_free_header (&buf[0].header);
    109     CreateBuffer (buf, dx, dy, -32, 0.0, 1.0);
     109    if (!CreateBuffer (buf, dx, dy, -32, 0.0, 1.0)) return FALSE;
    110110    strcpy (buf[0].file, "(empty)");
    111111
  • trunk/Ohana/src/opihi/dvo/coordimage.c

    r36375 r39233  
    7979  gfits_free_matrix (&bufX[0].matrix);
    8080  gfits_free_header (&bufX[0].header);
    81   CreateBuffer (bufX, Nx, Ny, -32, 0.0, 1.0); // initialized to 0.0 here
     81  if (!CreateBuffer (bufX, Nx, Ny, -32, 0.0, 1.0)) return FALSE; // initialized to 0.0 here
    8282  strcpy (bufX[0].file, "(empty)");
    8383
    8484  gfits_free_matrix (&bufY[0].matrix);
    8585  gfits_free_header (&bufY[0].header);
    86   CreateBuffer (bufY, Nx, Ny, -32, 0.0, 1.0); // initialized to 0.0 here
     86  if (!CreateBuffer (bufY, Nx, Ny, -32, 0.0, 1.0)) return FALSE; // initialized to 0.0 here
    8787  strcpy (bufY[0].file, "(empty)");
    8888
  • trunk/Ohana/src/opihi/dvo/coordmosaic.c

    r39227 r39233  
    8888  gfits_free_matrix (&bufX[0].matrix);
    8989  gfits_free_header (&bufX[0].header);
    90   CreateBuffer (bufX, Nx, Ny, -32, 0.0, 1.0); // initialized to 0.0 here
     90  if (!CreateBuffer (bufX, Nx, Ny, -32, 0.0, 1.0)) return FALSE; // initialized to 0.0 here
    9191  strcpy (bufX[0].file, "(empty)");
    9292
    9393  gfits_free_matrix (&bufY[0].matrix);
    9494  gfits_free_header (&bufY[0].header);
    95   CreateBuffer (bufY, Nx, Ny, -32, 0.0, 1.0); // initialized to 0.0 here
     95  if (!CreateBuffer (bufY, Nx, Ny, -32, 0.0, 1.0)) return FALSE; // initialized to 0.0 here
    9696  strcpy (bufY[0].file, "(empty)");
    9797
  • trunk/Ohana/src/opihi/dvo/fitcolors.c

    r38471 r39233  
    145145  gfits_free_matrix (&buf[0].matrix);
    146146  gfits_free_header (&buf[0].header);
    147   CreateBuffer (buf, NP, NP, -32, 0.0, 1.0);
     147  if (!CreateBuffer (buf, NP, NP, -32, 0.0, 1.0)) return FALSE;
    148148  strcpy (buf[0].file, "(empty)");
    149149
  • trunk/Ohana/src/opihi/dvo/imphot.c

    r34088 r39233  
    3636  if (GreyScale) {
    3737    if ((buf = SelectBuffer (bufname, ANYBUFFER, TRUE)) == NULL) return (FALSE);
    38     CreateBuffer (buf, 100, 200, -32, 0.0, 1.0);
     38    if (!CreateBuffer (buf, 100, 200, -32, 0.0, 1.0)) return FALSE;
    3939  }
    4040
  • trunk/Ohana/src/opihi/dvo/objectcoverage.c

    r38471 r39233  
    144144  gfits_free_matrix (&buf[0].matrix);
    145145  gfits_free_header (&buf[0].header);
    146   CreateBuffer (buf, Nx, Ny, -32, 0.0, 1.0);
     146  if (!CreateBuffer (buf, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    147147  strcpy (buf[0].file, "(empty)");
    148148
  • trunk/Ohana/src/opihi/dvo/skycoverage.c

    r37807 r39233  
    201201  gfits_free_matrix (&buf[0].matrix);
    202202  gfits_free_header (&buf[0].header);
    203   CreateBuffer (buf, Nx, Ny, -32, 0.0, 1.0);
     203  if (!CreateBuffer (buf, Nx, Ny, -32, 0.0, 1.0)) return FALSE;
    204204  strcpy (buf[0].file, "(empty)");
    205205
  • trunk/Ohana/src/opihi/lib.shell/BufferOps.c

    r38062 r39233  
    9292  gfits_free_matrix (&buf[0].matrix);
    9393  gfits_free_header (&buf[0].header);
    94   CreateBuffer (buf, Nx, Ny, bitpix, bzero, bscale);
     94  if (!CreateBuffer (buf, Nx, Ny, bitpix, bzero, bscale)) return FALSE;
    9595  return TRUE;
    9696}
    9797
    9898int CreateBuffer (Buffer *buf, int Nx, int Ny, int bitpix, float bzero, float bscale) {
     99
     100  if (Nx < 0) { gprint (GP_ERR, "invalid negative matrix size Nx : %d\n", Nx);  return FALSE; }
     101  if (Ny < 0) { gprint (GP_ERR, "invalid negative matrix size Ny : %d\n", Ny);  return FALSE; }
    99102
    100103  /* store the default output values */
     
    123126// buffer[x + Nx*y + Nx*Ny*z + ...]
    124127int CreateBuffer3D (Buffer *buf, int Nx, int Ny, int Nz, int bitpix, float bzero, float bscale) {
     128
     129  if (Nx < 0) { gprint (GP_ERR, "invalid negative matrix size Nx : %d\n", Nx);  return FALSE; }
     130  if (Ny < 0) { gprint (GP_ERR, "invalid negative matrix size Ny : %d\n", Ny);  return FALSE; }
     131  if (Nz < 0) { gprint (GP_ERR, "invalid negative matrix size Nz : %d\n", Nz);  return FALSE; }
    125132
    126133  /* store the default output values */
Note: See TracChangeset for help on using the changeset viewer.