diff options
Diffstat (limited to 'idlc/source/preproc/lex.c')
-rw-r--r-- | idlc/source/preproc/lex.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/idlc/source/preproc/lex.c b/idlc/source/preproc/lex.c index fd6d00792984..856ee72bfc53 100644 --- a/idlc/source/preproc/lex.c +++ b/idlc/source/preproc/lex.c @@ -290,7 +290,7 @@ void bigfsm[j][fp->state] = (short) nstate; continue; case C_ALPH: - for (j = 0; j <= 256; j++) + for (j = 0; j < 256; j++) if (('a' <= j && j <= 'z') || ('A' <= j && j <= 'Z') || j == '_') bigfsm[j][fp->state] = (short) nstate; @@ -687,9 +687,13 @@ void if (s->fd >= 0) { - close(s->fd); - dofree(s->inb); + (void) close(s->fd); + dofree(s->filename); } + + if (s->inb) + dofree(s->inb); + cursource = s->next; dofree(s); } |