diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-04-01 15:13:02 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-04-01 15:13:07 +0200 |
commit | 599866f5d5e6d27657a3f4f5d4c1bc8785143c99 (patch) | |
tree | 3a5f0ffeecd3842ea29830db371f52dda1ca4748 /libavutil | |
parent | ce841bc0326327b73659d7157ebcf25f235ef470 (diff) | |
parent | 52853077ee49db8ecb6f83d0f9a177708b5d93a6 (diff) | |
download | ffmpeg-599866f5d5e6d27657a3f4f5d4c1bc8785143c99.tar.gz |
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.c | 7 |
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; } |