summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2020-05-19 11:52:01 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2020-05-19 11:52:26 -0700
commitdd1a6bd37a0d57eb4f002f01f49c51fa5c6bb104 (patch)
tree72fce747ec4444645141f107959d0749a36feddb
parent41654f91f08eeff204d2ec2dabf2b81530060aaa (diff)
downloadtar-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.c2
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++)