From 983d04dd40a40d2d099d9c382e84da49fd2fe031 Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Thu, 28 Mar 2013 16:45:12 +0100 Subject: lavu/opt: make sure av_opt_set_bin() handles NULL/0. --- libavutil/opt.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libavutil') diff --git a/libavutil/opt.c b/libavutil/opt.c index fb3b724bd6..ab73913a39 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -420,8 +420,8 @@ int av_opt_set_bin(void *obj, const char *name, const uint8_t *val, int len, int if (o->type != AV_OPT_TYPE_BINARY) return AVERROR(EINVAL); - ptr = av_malloc(len); - if (!ptr) + ptr = len ? av_malloc(len) : NULL; + if (len && !ptr) return AVERROR(ENOMEM); dst = (uint8_t **)(((uint8_t *)target_obj) + o->offset); @@ -430,7 +430,8 @@ int av_opt_set_bin(void *obj, const char *name, const uint8_t *val, int len, int av_free(*dst); *dst = ptr; *lendst = len; - memcpy(ptr, val, len); + if (len) + memcpy(ptr, val, len); return 0; } -- cgit v1.2.3