diff options
Diffstat (limited to 'xkbcomp/xkbscan.c')
-rw-r--r-- | xkbcomp/xkbscan.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/xkbcomp/xkbscan.c b/xkbcomp/xkbscan.c index 814a1235c..22a034fd9 100644 --- a/xkbcomp/xkbscan.c +++ b/xkbcomp/xkbscan.c @@ -615,16 +615,16 @@ yyGetNumber(int ch) nInBuf = 1; while (((ch = scanchar()) != EOF) && (isxdigit(ch) || ((nInBuf == 1) && (ch == 'x'))) - && nInBuf < nMaxBuffSize) + && nInBuf < (nMaxBuffSize - 1)) { buf[nInBuf++] = ch; } - if (ch == '.') + if ((ch == '.') && (nInBuf < (nMaxBuffSize - 1))) { isFloat = 1; buf[nInBuf++] = ch; while (((ch = scanchar()) != EOF) && (isxdigit(ch)) - && nInBuf < nMaxBuffSize) + && nInBuf < (nMaxBuffSize - 1)) { buf[nInBuf++] = ch; } |