X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fuci.git;a=blobdiff_plain;f=file.c;fp=file.c;h=3f02c119905febdc52508f6cc79cb5182ea75263;hp=1d2718ace8397fe636e6574a046b0befacc01bcc;hb=def58eba24cc53f8761903145fef8db65e6e4760;hpb=61657246a9145e7f9e8780f69e0e198231345deb diff --git a/file.c b/file.c index 1d2718a..3f02c11 100644 --- a/file.c +++ b/file.c @@ -48,8 +48,8 @@ __private void uci_getln(struct uci_context *ctx, int offset) pctx->buf = uci_malloc(ctx, LINEBUF); pctx->bufsz = LINEBUF; } - /* `offset' may off by one */ - if (offset >= pctx->bufsz) { + /* It takes 2 slots for fgets to read 1 char. */ + if (offset >= pctx->bufsz - 1) { pctx->bufsz *= 2; pctx->buf = uci_realloc(ctx, pctx->buf, pctx->bufsz); }