]> git.lyx.org Git - features.git/commitdiff
DocBook: fix a crash in docbookSimpleAllParagraphs.
authorThibaut Cuvelier <tcuvelier@lyx.org>
Sun, 8 Oct 2023 19:11:17 +0000 (21:11 +0200)
committerScott Kostyshak <skostysh@lyx.org>
Tue, 10 Oct 2023 13:57:17 +0000 (09:57 -0400)
When having the code preview pane open with examples/Language_Support/Mixing_Japanese_with_other_Languages_(with_CJKutf8), clicking at random on paragraphs sometimes yielded a crash: *par when par is the end of the iterator. LyX could output the whole document as DocBook without this patch and still generates the same output with it (i.e. no text is missing).

src/output_docbook.cpp

index 19f6de43afe0522a7127bf42cd68619f19c1d756..983d4e7beff5096e086d16a99683cd072a6be2db 100644 (file)
@@ -1127,8 +1127,9 @@ void docbookSimpleAllParagraphs(
 
        // Then, the content. It starts where the <info> ends.
        auto par = paragraphs.iterator_at(info.epit);
-       auto end = paragraphs.iterator_at(epit);
-       while (par != end) {
+       auto par_epit = paragraphs.iterator_at(epit);
+       auto par_end = paragraphs.end();
+       while (par != par_epit && par != par_end) {
                if (!hasOnlyNotes(*par))
                        par = makeAny(text, buf, xs, runparams, par);
                else