env.c (parse_schedule): Reject out of range values.
* env.c (parse_schedule): Reject out of range values. (parse_unsigned_long): Reject out of range, negative or zero values. From-SVN: r118626
This commit is contained in:
parent
0ad12cd3b5
commit
6acf0b3843
2 changed files with 18 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2006-11-09 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* env.c (parse_schedule): Reject out of range values.
|
||||
(parse_unsigned_long): Reject out of range, negative or zero values.
|
||||
|
||||
|
||||
2006-10-29 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR fortran/29629
|
||||
|
|
|
@ -49,6 +49,7 @@ static void
|
|||
parse_schedule (void)
|
||||
{
|
||||
char *env, *end;
|
||||
unsigned long value;
|
||||
|
||||
env = getenv ("OMP_SCHEDULE");
|
||||
if (env == NULL)
|
||||
|
@ -85,11 +86,17 @@ parse_schedule (void)
|
|||
if (*env == '\0')
|
||||
goto invalid;
|
||||
|
||||
gomp_run_sched_chunk = strtoul (env, &end, 10);
|
||||
errno = 0;
|
||||
value = strtoul (env, &end, 10);
|
||||
if (errno)
|
||||
goto invalid;
|
||||
|
||||
while (isspace ((unsigned char) *end))
|
||||
++end;
|
||||
if (*end != '\0')
|
||||
goto invalid;
|
||||
|
||||
gomp_run_sched_chunk = value;
|
||||
return;
|
||||
|
||||
unknown:
|
||||
|
@ -99,7 +106,6 @@ parse_schedule (void)
|
|||
invalid:
|
||||
gomp_error ("Invalid value for chunk size in "
|
||||
"environment variable OMP_SCHEDULE");
|
||||
gomp_run_sched_chunk = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -121,7 +127,11 @@ parse_unsigned_long (const char *name, unsigned long *pvalue)
|
|||
if (*env == '\0')
|
||||
goto invalid;
|
||||
|
||||
errno = 0;
|
||||
value = strtoul (env, &end, 10);
|
||||
if (errno || (long) value <= 0)
|
||||
goto invalid;
|
||||
|
||||
while (isspace ((unsigned char) *end))
|
||||
++end;
|
||||
if (*end != '\0')
|
||||
|
|
Loading…
Add table
Reference in a new issue