more sscanf() return value checking
This commit is contained in:
@ -301,7 +301,8 @@ void ProcMap::custom_grid(char *cfile, int nprocs,
|
|||||||
MPI_Bcast(&n,1,MPI_INT,0,world);
|
MPI_Bcast(&n,1,MPI_INT,0,world);
|
||||||
MPI_Bcast(line,n,MPI_CHAR,0,world);
|
MPI_Bcast(line,n,MPI_CHAR,0,world);
|
||||||
|
|
||||||
sscanf(line,"%d %d %d",&procgrid[0],&procgrid[1],&procgrid[2]);
|
int rv = sscanf(line,"%d %d %d",&procgrid[0],&procgrid[1],&procgrid[2]);
|
||||||
|
if (rv != 3) error->all(FLERR,"Processors custom grid file is inconsistent");
|
||||||
|
|
||||||
int flag = 0;
|
int flag = 0;
|
||||||
if (procgrid[0]*procgrid[1]*procgrid[2] != nprocs) flag = 1;
|
if (procgrid[0]*procgrid[1]*procgrid[2] != nprocs) flag = 1;
|
||||||
@ -320,8 +321,10 @@ void ProcMap::custom_grid(char *cfile, int nprocs,
|
|||||||
for (int i = 0; i < nprocs; i++) {
|
for (int i = 0; i < nprocs; i++) {
|
||||||
if (!fgets(line,MAXLINE,fp))
|
if (!fgets(line,MAXLINE,fp))
|
||||||
error->one(FLERR,"Unexpected end of custom file");
|
error->one(FLERR,"Unexpected end of custom file");
|
||||||
sscanf(line,"%d %d %d %d",
|
rv = sscanf(line,"%d %d %d %d",
|
||||||
&cmap[i][0],&cmap[i][1],&cmap[i][2],&cmap[i][3]);
|
&cmap[i][0],&cmap[i][1],&cmap[i][2],&cmap[i][3]);
|
||||||
|
if (rv != 4)
|
||||||
|
error->one(FLERR,"Processors custom grid file is inconsistent");
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,19 +114,19 @@ void Universe::reorder(char *style, char *arg)
|
|||||||
// read nprocs lines
|
// read nprocs lines
|
||||||
// uni2orig = inverse mapping
|
// uni2orig = inverse mapping
|
||||||
|
|
||||||
int me_orig,me_new;
|
int me_orig,me_new,rv;
|
||||||
sscanf(line,"%d %d",&me_orig,&me_new);
|
rv = sscanf(line,"%d %d",&me_orig,&me_new);
|
||||||
if (me_orig < 0 || me_orig >= nprocs ||
|
if (me_orig < 0 || me_orig >= nprocs ||
|
||||||
me_new < 0 || me_new >= nprocs)
|
me_new < 0 || me_new >= nprocs || rv != 2)
|
||||||
error->one(FLERR,"Invalid entry in -reorder file");
|
error->one(FLERR,"Invalid entry in -reorder file");
|
||||||
uni2orig[me_new] = me_orig;
|
uni2orig[me_new] = me_orig;
|
||||||
|
|
||||||
for (int i = 1; i < nprocs; i++) {
|
for (int i = 1; i < nprocs; i++) {
|
||||||
if (!fgets(line,MAXLINE,fp))
|
if (!fgets(line,MAXLINE,fp))
|
||||||
error->one(FLERR,"Unexpected end of -reorder file");
|
error->one(FLERR,"Unexpected end of -reorder file");
|
||||||
sscanf(line,"%d %d",&me_orig,&me_new);
|
rv = sscanf(line,"%d %d",&me_orig,&me_new);
|
||||||
if (me_orig < 0 || me_orig >= nprocs ||
|
if (me_orig < 0 || me_orig >= nprocs ||
|
||||||
me_new < 0 || me_new >= nprocs)
|
me_new < 0 || me_new >= nprocs || rv != 2)
|
||||||
error->one(FLERR,"Invalid entry in -reorder file");
|
error->one(FLERR,"Invalid entry in -reorder file");
|
||||||
uni2orig[me_new] = me_orig;
|
uni2orig[me_new] = me_orig;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5162,8 +5162,8 @@ int VarReader::read_peratom()
|
|||||||
for (i = 0; i < nchunk; i++) {
|
for (i = 0; i < nchunk; i++) {
|
||||||
next = strchr(buf,'\n');
|
next = strchr(buf,'\n');
|
||||||
*next = '\0';
|
*next = '\0';
|
||||||
sscanf(buf,TAGINT_FORMAT " %lg",&tag,&value);
|
int rv = sscanf(buf,TAGINT_FORMAT " %lg",&tag,&value);
|
||||||
if (tag <= 0 || tag > map_tag_max)
|
if (tag <= 0 || tag > map_tag_max || rv != 2)
|
||||||
error->one(FLERR,"Invalid atom ID in variable file");
|
error->one(FLERR,"Invalid atom ID in variable file");
|
||||||
if ((m = atom->map(tag)) >= 0) vstore[m] = value;
|
if ((m = atom->map(tag)) >= 0) vstore[m] = value;
|
||||||
buf = next + 1;
|
buf = next + 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user