Browse Source

lexical.c, avoid to read beyond end of `string'

pre-master-46
rlar 12 years ago
parent
commit
cb75a749b8
  1. 16
      src/frontend/parser/lexical.c

16
src/frontend/parser/lexical.c

@ -107,7 +107,13 @@ pwlist_echo(wordlist *wlist, char *name)
static int
cp_readchar(char **string, FILE *fptr)
{
return (*string) ? *(*string)++ : input(fptr);
if (*string == NULL)
return input(fptr);
if (**string)
return *(*string)++;
else
return '\n';
}
@ -143,12 +149,8 @@ nloop:
c = cp_readchar(&string, cp_inp_cur);
if (string) {
if (c == '\0')
c = '\n';
if (c == ESCAPE)
c = '[';
}
if (string && (c == ESCAPE))
c = '[';
gotchar:

Loading…
Cancel
Save