diff --git a/libavfilter/signature_lookup.c b/libavfilter/signature_lookup.c index ad012ecced..90b1d0eadf 100644 --- a/libavfilter/signature_lookup.c +++ b/libavfilter/signature_lookup.c @@ -205,11 +205,15 @@ static MatchingInfo* get_matching_parameters(AVFilterContext *ctx, SignatureCont } hspace_elem; /* houghspace */ - hspace_elem** hspace = av_malloc_array(MAX_FRAMERATE, sizeof(hspace_elem *)); + hspace_elem **hspace = av_mallocz(MAX_FRAMERATE * sizeof(*hspace)); + if (!hspace) + return NULL; /* initialize houghspace */ for (i = 0; i < MAX_FRAMERATE; i++) { hspace[i] = av_malloc_array(2 * HOUGH_MAX_OFFSET + 1, sizeof(hspace_elem)); + if (!hspace[i]) + goto error; for (j = 0; j < 2 * HOUGH_MAX_OFFSET + 1; j++) { hspace[i][j].score = 0; hspace[i][j].dist = 99999;