Subject: bug#42931: 27.1; json-pretty-print-buffer on ~2MB line causes core dump

From: Philipp Stephani <[email-masked]>
Date: Thu, 20 Aug 2020 15:26:06 +0200

Am Do., 20. Aug. 2020 um 15:23 Uhr schrieb Lars Ingebrigtsen <[email-masked]>:
>
> Eli Zaretskii <[email-masked]> writes:
>
> > looks like stack overflow?  I guess the recursive nature of compareseq
> > is got to cause this at some point?
>
> Yup.
>
> I'm not sure what to do about it, though.  One easy way to "fix this"
> would be to not use replace-region-contents in json-pretty-print if the
> region is very large...  but that's kinda just wallpapering over the
> problem.
>
> replace-region-contents itself could decide to not do all its fancy
> stuff if the region is very large, and just replace the contents in the
> normal way instead?

I guess the underlying function (compareseq) should protect against
unbounded recursion and fall back to a more coarse diff if necessary.