[FFmpeg-devel] [PATCH 1/4] lavu/opt: check for NULL before parsing
Michael Niedermayer
michaelni at gmx.at
Mon Nov 10 13:08:34 CET 2014
On Mon, Nov 10, 2014 at 06:22:07AM +0100, Lukasz Marek wrote:
> On 10.11.2014 03:21, Michael Niedermayer wrote:
> >On Sun, Nov 09, 2014 at 11:22:46PM +0100, Lukasz Marek wrote:
> >>set_string_binary crashes with called with val=NULL
> >>
> >>Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> >>---
> >> libavutil/opt.c | 6 +++++-
> >> 1 file changed, 5 insertions(+), 1 deletion(-)
> >>
> >>diff --git a/libavutil/opt.c b/libavutil/opt.c
> >>index fca5354..bc62044 100644
> >>--- a/libavutil/opt.c
> >>+++ b/libavutil/opt.c
> >>@@ -126,11 +126,15 @@ static int set_string_binary(void *obj, const AVOption *o, const char *val, uint
> >> {
> >> int *lendst = (int *)(dst + 1);
> >> uint8_t *bin, *ptr;
> >>- int len = strlen(val);
> >>+ int len;
> >>
> >> av_freep(dst);
> >> *lendst = 0;
> >>
> >>+ if (!val)
> >>+ return AVERROR(EINVAL);
> >
> >this deallocates dest and then returns failure
> >shouldnt it either not fail or not change the state of dst ?
>
> Yes, it is inconsistent. I changed to return 0.
> Also, I added check for length 0 to avoid malloc returned some
> pointer for 0 bytes block.
>
> opt.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
> 8cb5253a3e91283bd427ebe3a0124c0f890d0535 0001-lavu-opt-check-for-NULL-before-parsing.patch
> From e67c9094e699997cb01e2ec2dcc0a7da19ed9c03 Mon Sep 17 00:00:00 2001
> From: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> Date: Sun, 9 Nov 2014 23:15:58 +0100
> Subject: [PATCH 1/4] lavu/opt: check for NULL before parsing
LGTM
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Avoid a single point of failure, be that a person or equipment.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141110/1ac9aa01/attachment.asc>
More information about the ffmpeg-devel
mailing list