Browse Source

fix gratuitous undefined behavior in strptime

accessing an object of type const char *restrict as if it had type
char * is not defined.
master
Rich Felker 10 years ago
parent
commit
f33b175850
  1. 9
      src/time/strptime.c

9
src/time/strptime.c

@ -22,8 +22,13 @@ char *strptime(const char *restrict s, const char *restrict f, struct tm *restri
}
f++;
if (*f == '+') f++;
if (isdigit(*f)) w=strtoul(f, (void *)&f, 10);
else w=-1;
if (isdigit(*f)) {
char *new_f;
w=strtoul(f, &new_f, 10);
f = new_f;
} else {
w=-1;
}
adj=0;
switch (*f++) {
case 'a': case 'A':

Loading…
Cancel
Save