[PATCH 4/5] Make av_parse_expr() fail if there are trailing chars at the end of the provided expression that have not been parsed.
Stefano Sabatini
stefano.sabatini-lala
Sat Jun 12 23:32:35 CEST 2010
---
libavutil/eval.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/libavutil/eval.c b/libavutil/eval.c
index 6735aba..606b33b 100644
--- a/libavutil/eval.c
+++ b/libavutil/eval.c
@@ -448,6 +448,7 @@ int av_parse_expr(AVExpr **expr, const char *s,
AVExpr *e = NULL;
char *w = av_malloc(strlen(s) + 1);
char *wp = w;
+ const char *s0 = s;
int ret = 0;
if (!w)
@@ -470,6 +471,11 @@ int av_parse_expr(AVExpr **expr, const char *s,
if ((ret = parse_expr(&e, &p)) < 0)
goto end;
+ if (*p.s) {
+ av_log(p, AV_LOG_ERROR, "Invalid chars '%s' at the end of expression '%s'\n", p.s, s0);
+ ret = AVERROR(EINVAL);
+ goto end;
+ }
if (!verify_expr(e)) {
av_free_expr(e);
ret = AVERROR(EINVAL);
--
1.7.1
--bCsyhTFzCvuiizWE--
More information about the ffmpeg-devel
mailing list