aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2013-03-15 02:58:29 +0100
committerClément Bœsch <ubitux@gmail.com>2013-03-15 02:58:29 +0100
commit1edbeb353222acd204934043cfde9933c173b100 (patch)
treebaf4eeaf4dbaca7ebab344bf1b94643e57d75790
parentdb670e536632b62578b5041a69e9f0accacb4529 (diff)
downloadffmpeg-1edbeb353222acd204934043cfde9933c173b100.tar.gz
lavfi/ebur128: check histogram allocations.
-rw-r--r--libavfilter/f_ebur128.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
index 33cea40d66..6d7f7afa83 100644
--- a/libavfilter/f_ebur128.c
+++ b/libavfilter/f_ebur128.c
@@ -373,6 +373,8 @@ static struct hist_entry *get_histogram(void)
int i;
struct hist_entry *h = av_calloc(HIST_SIZE, sizeof(*h));
+ if (!h)
+ return NULL;
for (i = 0; i < HIST_SIZE; i++) {
h[i].loudness = i / (double)HIST_GRAIN + ABS_THRES;
h[i].energy = ENERGY(h[i].loudness);
@@ -406,6 +408,8 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
ebur128->i400.histogram = get_histogram();
ebur128->i3000.histogram = get_histogram();
+ if (!ebur128->i400.histogram || !ebur128->i3000.histogram)
+ return AVERROR(ENOMEM);
ebur128->integrated_loudness = ABS_THRES;
ebur128->loudness_range = 0;