diff --git a/libavcodec/elbg.c b/libavcodec/elbg.c index 9f8ed221a43706915b6f2e513eb714078fea851a..d56a0c3573ac9927ea8d4727390b551315b6747d 100644 --- a/libavcodec/elbg.c +++ b/libavcodec/elbg.c @@ -105,9 +105,12 @@ static int get_high_utility_cell(elbg_data *elbg) { int i=0; /* Using linear search, do binary if it ever turns to be speed critical */ - int r = av_random(elbg->rand_state)%elbg->utility_inc[elbg->numCB-1]; + int r = av_random(elbg->rand_state)%(elbg->utility_inc[elbg->numCB-1]-1) + 1; while (elbg->utility_inc[i] < r) i++; + + assert(!elbg->cells[i]); + return i; }