[LyX/master] InsetIndex: make a condition more bullet-proof, a nullptr could be dereferenced.

Thibaut Cuvelier dourouc05 at gmail.com
Sun Jan 8 21:51:45 UTC 2023


On Sun, 8 Jan 2023 at 22:46, Jean-Marc Lasgouttes <lasgouttes at lyx.org>
wrote:

> Le 08/01/2023 à 22:39, Richard Kimberly Heck a écrit :
> > On 1/8/23 15:21, Thibaut Cuvelier wrote:
> >> commit 2d56c01dcfaf04744ab6d854af3965919cc07b82
> >> Author: Thibaut Cuvelier <tcuvelier at lyx.org>
> >> Date:   Sun Jan 8 22:19:39 2023 +0100
> >>
> >>      InsetIndex: make a condition more bullet-proof, a nullptr could
> >> be dereferenced.
> >>      Error noticed by Coverity:
> >>      *** CID 382777:  Memory - illegal accesses  (RETURN_LOCAL)
> >>      /home/lasgoutt/src/lyx/coverity/lyx/src/insets/InsetIndex.cpp:
> >> 1866 in
> >>
> _ZNK3lyx15InsetPrintIndex5xhtmlB5cxx11ERNS_9XMLStreamERKNS_12OutputParamsE()
> >>      1860
> >>      1861            // Collect the index entries in a form we can use
> >> them.
> >>      1862            vector<IndexEntry> entries;
> >>      1863            const docstring & indexType =
> >> params().getParamOr("type", from_ascii("idx"));
> >>      1864            for (const TocItem& item : *toc) {
> >>      1865                    const auto* inset = static_cast<const
> >> InsetIndex*>(&(item.dit().inset()));
> >>      >>>     CID 382777:  Memory - illegal accesses  (RETURN_LOCAL)
> >>      >>>     Using "indexType", which points to an out-of-scope
> >> temporary variable of type "lyx::docstring const".
> >
> > Isn't the warning rather that getParamOr could return a reference to
> > 'from_ascii("idx")', which coverity is saying is now out of scope? Is
> > that OK? Maybe it wants us to declare that separately?
>
>
> That's my reading too.
>

Thanks for your readings :)! I changed the code to have a separate
declaration of the default value.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20230108/37009400/attachment.html>


More information about the lyx-devel mailing list