mirror of
https://github.com/curl/curl.git
synced 2025-09-12 23:22:42 +03:00
tool_help: handle longer lines, exit on too long
Follow-up to 9a0cf56471
- increase the buffer to handle 160 characters manpage lines
- add another assert
- if the line buffer gets full, abort
Ideally, we add another step in the build process that makes the build
fail if this long lines are used.
Closes #14422
This commit is contained in:
parent
48818a41af
commit
53146dd262
|
@ -213,12 +213,18 @@ bool helpscan(unsigned char *buf, size_t len, struct scan_ctx *ctx)
|
||||||
|
|
||||||
if(buf[i] == '\n') {
|
if(buf[i] == '\n') {
|
||||||
DEBUGASSERT(ctx->olen < sizeof(ctx->obuf));
|
DEBUGASSERT(ctx->olen < sizeof(ctx->obuf));
|
||||||
|
if(ctx->olen == sizeof(ctx->obuf))
|
||||||
|
return FALSE; /* bail out */
|
||||||
ctx->obuf[ctx->olen++] = 0;
|
ctx->obuf[ctx->olen++] = 0;
|
||||||
ctx->olen = 0;
|
ctx->olen = 0;
|
||||||
puts(ctx->obuf);
|
puts(ctx->obuf);
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
|
DEBUGASSERT(ctx->olen < sizeof(ctx->obuf));
|
||||||
|
if(ctx->olen == sizeof(ctx->obuf))
|
||||||
|
return FALSE; /* bail out */
|
||||||
ctx->obuf[ctx->olen++] = buf[i];
|
ctx->obuf[ctx->olen++] = buf[i];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ struct scan_ctx {
|
||||||
size_t elen;
|
size_t elen;
|
||||||
size_t olen;
|
size_t olen;
|
||||||
char rbuf[40];
|
char rbuf[40];
|
||||||
char obuf[80];
|
char obuf[160];
|
||||||
unsigned char show; /* start as at 0.
|
unsigned char show; /* start as at 0.
|
||||||
trigger match moves it to 1
|
trigger match moves it to 1
|
||||||
arg match moves it to 2
|
arg match moves it to 2
|
||||||
|
|
Loading…
Reference in New Issue
Block a user