diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2020-05-19 11:52:01 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2020-05-19 11:52:26 -0700 |
commit | dd1a6bd37a0d57eb4f002f01f49c51fa5c6bb104 (patch) | |
tree | 72fce747ec4444645141f107959d0749a36feddb | |
parent | 41654f91f08eeff204d2ec2dabf2b81530060aaa (diff) | |
download | tar-dd1a6bd37a0d57eb4f002f01f49c51fa5c6bb104.tar.gz |
tar: avoid read overrun
Problem reported by Timotej Kapus in:
https://lists.gnu.org/r/bug-tar/2020-05/msg00001.html
* src/transform.c (parse_transform_expr):
Diagnose ‘--transform='s'’ instead of continuing past '\0'.
-rw-r--r-- | src/transform.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/transform.c b/src/transform.c index 0a4972a5..dea2ecce 100644 --- a/src/transform.c +++ b/src/transform.c @@ -208,6 +208,8 @@ parse_transform_expr (const char *expr) } delim = expr[1]; + if (!delim) + USAGE_ERROR ((0, 0, _("Invalid transform expression"))); /* Scan regular expression */ for (i = 2; expr[i] && expr[i] != delim; i++) |