IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38545


Ignore:
Timestamp:
Jun 25, 2015, 2:09:11 PM (11 years ago)
Author:
eugene
Message:

replace sprintf with snprintf

Location:
branches/eam_branches/ipp-20150616/Ohana/src/libdvo
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/include/convert.h

    r31635 r38545  
    1313int           hh_hms                PROTO((double hh, int *hr, int *mn, double *sc));
    1414int           dd_dms                PROTO((double dd, int *dg, int *mn, double *sc));
    15 int           hms_format            PROTO((char *line, double value));
    16 int           dms_format            PROTO((char *line, double value));
     15int           hms_format            PROTO((char *line, int length, double value));
     16int           dms_format            PROTO((char *line, int length, double value));
    1717int           hh_hm                 PROTO((double hh, int *hr, double *mn));
    1818int           day_to_sec            PROTO((char *string, time_t *second));
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/HostTable.c

    r38441 r38545  
    6262  char *filename = NULL;
    6363
    64   ALLOCATE (filename, char, strlen(catdir) + strlen(rootname) + 2); // one slash and one EOL
    65   sprintf (filename, "%s/%s", catdir, rootname);
     64  int Nchar = strlen(catdir) + strlen(rootname) + 16;
     65  ALLOCATE (filename, char, Nchar); // one slash and one EOL
     66  snprintf (filename, Nchar, "%s/%s", catdir, rootname);
    6667
    6768  FILE *f = fopen (filename, "r");
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/LoadImages.c

    r38441 r38545  
    2323
    2424  catdir = dvo_get_catdir ();
    25   sprintf (filename, "%s/Images.dat", catdir);
     25  snprintf (filename, 256, "%s/Images.dat", catdir);
    2626
    2727  if (lastFilename) {
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/RegionHostTable.c

    r37807 r38545  
    6464  char *filename = NULL;
    6565
    66   ALLOCATE (filename, char, strlen(catdir) + strlen(rootname) + 2); // one slash and one EOL
    67   sprintf (filename, "%s/%s", catdir, rootname);
     66  int Nchar = strlen(catdir) + strlen(rootname) + 16;
     67
     68  ALLOCATE (filename, char, Nchar); // one slash and one EOL
     69  snprintf (filename, Nchar, "%s/%s", catdir, rootname);
    6870
    6971  FILE *f = fopen (filename, "r");
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/convert.c

    r31635 r38545  
    4646}
    4747 
    48 int hms_format (char *line, double value) {
     48int hms_format (char *line, int length, double value) {
    4949
    5050  int hr, mn;
     
    5454  hr = (int) value;
    5555  if (isnan (value))
    56     sprintf (line, "xx:xx:xx.xx");
     56    snprintf (line, length, "xx:xx:xx.xx");
    5757  else {
    5858    if (value < 0) {
    59       sprintf (line, "-%02d:%02d:%05.2f", abs(hr), mn, sc);
     59      snprintf (line, length, "-%02d:%02d:%05.2f", abs(hr), mn, sc);
    6060    } else {
    61       sprintf (line, "+%02d:%02d:%05.2f", hr, mn, sc);
     61      snprintf (line, length, "+%02d:%02d:%05.2f", hr, mn, sc);
    6262    }
    6363  }     
     
    6565}
    6666
    67 int dms_format (char *line, double value) {
     67int dms_format (char *line, int length, double value) {
    6868
    6969  int dg, mn;
     
    7272  dd_dms (value, &dg, &mn, &sc);
    7373  if (value < 0) {
    74     sprintf (line, "-%02d:%02d:%05.2f", abs(dg), mn, sc);
     74    snprintf (line, length, "-%02d:%02d:%05.2f", abs(dg), mn, sc);
    7575  } else {
    76     sprintf (line, "+%02d:%02d:%05.2f", dg, mn, sc);
     76    snprintf (line, length, "+%02d:%02d:%05.2f", dg, mn, sc);
    7777  }
    7878  return (TRUE);
     
    134134  ALLOCATE (line, char, 64);
    135135  gmt   = gmtime (&second);
    136   sprintf (line, "%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
     136  snprintf (line, 64, "%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
    137137  return (line);
    138138}
     
    148148  switch (gmt[0].tm_wday) {
    149149    case 0:
    150       sprintf (line, "Sun@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
     150      snprintf (line, 64, "Sun@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
    151151      break;
    152152    case 1:
    153       sprintf (line, "Mon@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
     153      snprintf (line, 64, "Mon@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
    154154      break;
    155155    case 2:
    156       sprintf (line, "Tue@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
     156      snprintf (line, 64, "Tue@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
    157157      break;
    158158    case 3:
    159       sprintf (line, "Wed@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
     159      snprintf (line, 64, "Wed@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
    160160      break;
    161161    case 4:
    162       sprintf (line, "Thu@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
     162      snprintf (line, 64, "Thu@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
    163163      break;
    164164    case 5:
    165       sprintf (line, "Fri@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
     165      snprintf (line, 64, "Fri@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
    166166      break;
    167167    case 6:
    168       sprintf (line, "Sat@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
     168      snprintf (line, 64, "Sat@%02d:%02d:%02d", gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec);
    169169      break;
    170170  }
     
    195195  hh_hm (deg, &hr, &mn);
    196196
    197   sprintf (line, "%03d:%04.1f", abs(hr), mn);
     197  snprintf (line, 16, "%03d:%04.1f", abs(hr), mn);
    198198  return (line);
    199199}
     
    209209  hh_hm (deg/15.0, &hr, &mn);
    210210
    211   sprintf (line, "%02d:%04.1f", abs(hr), mn);
     211  snprintf (line, 16, "%02d:%04.1f", abs(hr), mn);
    212212  return (line);
    213213}
     
    224224
    225225  if (deg < 0) {
    226     sprintf (line, "-%02d:%04.1f", abs(hr), mn);
     226    snprintf (line, 16, "-%02d:%04.1f", abs(hr), mn);
    227227  } else {
    228     sprintf (line, "+%02d:%04.1f", hr, mn);
     228    snprintf (line, 16, "+%02d:%04.1f", hr, mn);
    229229  }     
    230230  return (line);
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/coordops.c

    r38462 r38545  
    740740        for (i = 0; i < 14; i++) {
    741741          char name[64];
    742           sprintf (name, "PV2_%d", i);
     742          snprintf (name, 64, "PV2_%d", i);
    743743          if (i < 7) {
    744744            found = gfits_scan (header, name, "%f", 1, &coords[0].polyterms[0][i]);
     
    834834    if (!strncmp (coords[0].ctype, "SLAT", 4)) strcpy (csys, "SLON");
    835835    if (!strcmp (csys, "NONE")) return (FALSE);
    836     sprintf (ctype, "%s-%s", csys, &coords[0].ctype[5]);
     836    snprintf (ctype, 16, "%s-%s", csys, &coords[0].ctype[5]);
    837837    gfits_modify (header, "CTYPE1",   "%s",  1, ctype);
    838838  }   
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/dvo_catalog_create.c

    r38441 r38545  
    105105  char *path = pathname (catalog[0].filename);
    106106  char *root = filerootname (catalog[0].filename);
    107   int length = strlen(path) + strlen(root) + 6;
     107
     108  int length = strlen(path) + strlen(root) + 16;
    108109   
    109110  Catalog *subcat;
     
    120121  ALLOCATE (subcat->filename, char, length);
    121122
    122   sprintf (subcat->filename, "%s/%s.%s", path, root, ext);
     123  snprintf (subcat->filename, length, "%s/%s.%s", path, root, ext);
    123124
    124125  char *file = filebasename (subcat->filename);
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/dvo_image.c

    r38441 r38545  
    231231int dvo_image_createID (Header *header) {
    232232 
    233   char dbID[33];
     233  char dbID[64];
    234234
    235235  if (!header->buffer) return FALSE;
     
    259259  int i;
    260260  for (i = 0; i < 32; i++) {
    261     sprintf (&dbID[i], "%1x", (int)(16.0*drand48()));
     261    myAssert (snprintf (&dbID[i], 2, "%1x", (int)(16.0*drand48())) < 2, "overflow");
    262262  }
    263263
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/dvo_util.c

    r38471 r38545  
    6363    }
    6464
    65     sprintf (dvoConfig->photcodeFile, "%s/Photcodes.dat", dvoConfig->catdir);
     65    snprintf (dvoConfig->photcodeFile, 256, "%s/Photcodes.dat", dvoConfig->catdir);
    6666    if (!LoadPhotcodes (dvoConfig->photcodeFile, MasterPhotcodeFile, FALSE)) {
    6767        fprintf (stderr, "error loading photcode table %s or master file %s\n",
     
    101101    char filename[256];
    102102 
    103     sprintf (filename, "%s/Images.dat", dvoConfig->catdir);
     103    snprintf (filename, 256, "%s/Images.dat", dvoConfig->catdir);
    104104
    105105    gfits_db_init (&dvoConfig->imageDB);
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/skydb.c

    r19823 r38545  
    224224  /* north dec bands */
    225225  for (dec = 0; dec < 90; dec += 7.5) {
    226     sprintf (db[N].name, "n%04d.cpt", (int) 100*dec);
     226    myAssert (snprintf (db[N].name, 18, "n%04d.cpt", (int) 100*dec) < 18, "overflow");
    227227    db[N].Rmin =   0; db[N].Rmax = 360;
    228228    db[N].Dmin = dec; db[N].Dmax = dec + 7.5;
     
    233233  /* south dec bands */
    234234  for (dec = 0; dec > -90; dec -= 7.5) {
    235     sprintf (db[N].name, "s%04d.cpt", (int) 100*dec);
     235    myAssert (snprintf (db[N].name, 18, "s%04d.cpt", (int) 100*dec) < 18, "overflow");
    236236    db[N].Rmin =   0;       db[N].Rmax = 360;
    237237    db[N].Dmin = dec - 7.5; db[N].Dmax = dec;
     
    276276      new[Nnew].child = FALSE;
    277277      strncpy (root, db[i].name, 5); root[5] = 0;
    278       sprintf (new[Nnew].name, "%s/r%04d.cpt", root, Rnumber);
     278      myAssert (snprintf (new[Nnew].name, 18, "%s/r%04d.cpt", root, Rnumber) < 18, "overflow");
    279279      Rnumber ++;     
    280280      Nnew ++;
     
    365365        db[N].child = FALSE;
    366366        strncpy (root, db[i].name, 10); root[10] = 0;
    367         sprintf (db[N].name, "%s.%02d.cpt", root, Rnumber);
     367        myAssert (snprintf (db[N].name, 18, "%s.%02d.cpt", root, Rnumber) < 18, "overflow");
    368368        Rnumber ++;
    369369        N ++;
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/skyregion_gsc.c

    r38500 r38545  
    225225
    226226    temp[5] = 0;
    227     sprintf (name, "%s/%s", DecName, &temp[1]);
     227    snprintf (name, 80, "%s/%s", DecName, &temp[1]);
    228228    strcpy (regions[i].name, name);
    229229  }
     
    366366        band[0].regions[Nregions + i].Dmax = -86.250;
    367367      }
    368       sprintf (band[0].regions[Nregions + i].name, "%s.%d", basename, i);
     368      myAssert (snprintf (band[0].regions[Nregions + i].name, 18, "%s.%d", basename, i) < 18, "overflow");
    369369    }
    370370    band[0].regions[Nregions + i].Rmin = 0.0;
     
    377377      band[0].regions[Nregions + i].Dmax = -88.125;
    378378    }
    379     sprintf (band[0].regions[Nregions + i].name, "%s.%d", basename, i);
     379    myAssert (snprintf (band[0].regions[Nregions + i].name, 18, "%s.%d", basename, i) < 18, "overflow");
    380380
    381381    zones[0].Nset = 6;
     
    436436    }
    437437    *p = 0;
    438     sprintf (name, "%s/z%03d", band[0].regions[Ns].name, Nr);
     438    myAssert (snprintf (name, 80, "%s/z%03d", band[0].regions[Ns].name, Nr) < 80, "overflow");
    439439    *p = '/';
    440440    strcpy (L2[0].regions[Nr].name, name);
     
    532532      L4[0].regions[Nr].backupID  = 0;
    533533
    534       sprintf (name, "%s.%02d", L3[0].name, Nbox);
     534      myAssert (snprintf (name, 80, "%s.%02d", L3[0].name, Nbox) < 80, "overflow");
    535535      strcpy (L4[0].regions[Nr].name, name);
    536536      if (DEBUG >= 4) SkyRegionPrint (&L4[0].regions[Nr]);
  • branches/eam_branches/ipp-20150616/Ohana/src/libdvo/src/skyregion_io.c

    r38500 r38545  
    201201  // this generates the names, be sure to free when not needed
    202202  for (i = 0; i < list[0].Nregions; i++) {
    203     sprintf (line, "%s/%s.%s", path, list[0].regions[i][0].name, ext);
     203    snprintf (line, 256, "%s/%s.%s", path, list[0].regions[i][0].name, ext);
    204204    list[0].filename[i] = strcreate (line);
    205205  }
     
    215215  // this generates the names, be sure to free when not needed
    216216  for (i = 0; i < sky[0].Nregions; i++) {
    217     sprintf (line, "%s/%s.%s", path, sky[0].regions[i].name, ext);
     217    snprintf (line, 256, "%s/%s.%s", path, sky[0].regions[i].name, ext);
    218218    sky[0].filename[i] = strcreate (line);
    219219  }
     
    228228 
    229229  char *skyfile;
    230   ALLOCATE (skyfile, char, strlen(catdir) + strlen("/SkyTable.fits") + 1);
    231   sprintf (skyfile, "%s/SkyTable.fits", catdir);
     230
     231  int Nchar = strlen(catdir) + strlen("/SkyTable.fits") + 16;
     232  ALLOCATE (skyfile, char, Nchar);
     233  snprintf (skyfile, Nchar, "%s/SkyTable.fits", catdir);
    232234
    233235  return skyfile;
Note: See TracChangeset for help on using the changeset viewer.