mirror of
https://git.savannah.gnu.org/git/tar.git
synced 2026-07-20 23:12:46 +00:00
Fix unlikely buffer overrun when checkpointing
* src/checkpoint.c (format_checkpoint_string): Don’t overrun buffer when word splitting.
This commit is contained in:
+5
-2
@@ -300,10 +300,13 @@ format_checkpoint_string (FILE *fp, size_t len,
|
||||
if (arg)
|
||||
{
|
||||
ws.ws_delim = ",";
|
||||
if (wordsplit (arg, &ws, WRDSF_NOVAR | WRDSF_NOCMD |
|
||||
WRDSF_QUOTE | WRDSF_DELIM))
|
||||
if (wordsplit (arg, &ws,
|
||||
(WRDSF_NOVAR | WRDSF_NOCMD
|
||||
| WRDSF_QUOTE | WRDSF_DELIM)))
|
||||
ERROR ((0, 0, _("cannot split string '%s': %s"),
|
||||
arg, wordsplit_strerror (&ws)));
|
||||
else if (3 < ws.ws_wordc)
|
||||
ERROR ((0, 0, _("too many words in '%s'"), arg));
|
||||
else
|
||||
{
|
||||
int i;
|
||||
|
||||
Reference in New Issue
Block a user