summaryrefslogtreecommitdiffstats
path: root/subreader.c
diff options
context:
space:
mode:
Diffstat (limited to 'subreader.c')
-rw-r--r--subreader.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/subreader.c b/subreader.c
index 0169925727..a972cdb874 100644
--- a/subreader.c
+++ b/subreader.c
@@ -1548,6 +1548,11 @@ if ((suboverlap_enabled == 2) ||
}
}
+ /* Avoid n^2 memory use for the "placeholder" data structure
+ * below with subtitles that have a huge number of
+ * consecutive overlapping lines. */
+ lines_to_add = FFMIN(lines_to_add, SUB_MAX_TEXT);
+
// we need a structure to keep trace of the screen lines
// used by the subs, a 'placeholder'
counter = 2 * sub_to_add + 1; // the maximum number of subs derived