[FFmpeg-cvslog] r23629 - trunk/libavutil/eval.c

stefano subversion
Wed Jun 16 20:27:55 CEST 2010


Author: stefano
Date: Wed Jun 16 20:27:55 2010
New Revision: 23629

Log:
Make av_parse_expr() fail if there are trailing chars at the end of
the provided expression.

Allow detection of mistyped expressions.

Modified:
   trunk/libavutil/eval.c

Modified: trunk/libavutil/eval.c
==============================================================================
--- trunk/libavutil/eval.c	Wed Jun 16 20:27:52 2010	(r23628)
+++ trunk/libavutil/eval.c	Wed Jun 16 20:27:55 2010	(r23629)
@@ -448,6 +448,7 @@ int av_parse_expr(AVExpr **expr, const c
     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 c
 
     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);



More information about the ffmpeg-cvslog mailing list