summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-04-01 15:13:02 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-04-01 15:13:07 +0200
commit599866f5d5e6d27657a3f4f5d4c1bc8785143c99 (patch)
tree3a5f0ffeecd3842ea29830db371f52dda1ca4748 /libavutil
parentce841bc0326327b73659d7157ebcf25f235ef470 (diff)
parent52853077ee49db8ecb6f83d0f9a177708b5d93a6 (diff)
Merge remote-tracking branch 'cigaes/master'
* cigaes/master: lavfi/af_asetnsamples: fix EOF handling. lavu/opt: make sure av_opt_set_bin() handles NULL/0. lavd/v4l2: fully init an ioctl argument. lavfi: detect merge failure for unknown layouts. Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/opt.c7
1 files changed, 4 insertions, 3 deletions
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;
}