Changeset e00146


Ignore:
Timestamp:
Mar 11, 2013, 11:33:01 PM (13 years ago)
Author:
Frederik Heber <heber@…>
Children:
8d3df9
Parents:
7d8854
git-author:
Frederik Heber <heber@…> (03/06/13 13:04:31)
git-committer:
Frederik Heber <heber@…> (03/11/13 23:33:01)
Message:

FIX: invalid strncat's and alikes in MPQCJob::Work().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/bin/mpqc/mpqc.cc

    r7d8854 re00146  
    18811881  // create unique, temporary name and check whether it exists
    18821882  const char *output = NULL;
    1883   std::ifstream test;
    1884   do {
    1885     char filename_template[] = "mpqc_temp_XXXXXX";
    1886     char filename_suffix[] = ".in";
    1887     char *tempfilename = (char *) malloc ( (strlen(filename_template)+strlen(filename_suffix))*(sizeof(char)));
    1888     strncpy(tempfilename, mktemp(filename_template), strlen(filename_template));
    1889     strncat(tempfilename, filename_suffix, strlen(filename_suffix)); 
    1890     output = tempfilename;
    1891     test.open(output);
    1892   } while (test.good());
     1883  {
     1884    std::ifstream test;
     1885    do {
     1886      char filename_template[] = "mpqc_temp_XXXXXX\0";
     1887      char filename_suffix[] = ".in\0";
     1888      char *tempfilename = (char *) malloc ( (strlen(filename_template)+strlen(filename_suffix)+2)*(sizeof(char)));
     1889      strncpy(tempfilename, mktemp(filename_template), strlen(filename_template));
     1890      tempfilename[strlen(filename_template)] = '\0';
     1891      strncat(tempfilename, filename_suffix, strlen(filename_suffix));
     1892      output = tempfilename;
     1893      //free(tempfilename); // don't free! output takes over pointer!
     1894      test.open(output);
     1895    } while (test.good());
     1896    test.close();
     1897  }
    18931898  // put info how to sample the density into MPQCData
    18941899  MPQCData data(grid);
Note: See TracChangeset for help on using the changeset viewer.