[PATCH] D77062: [analyzer] Improve zero assumption in CStringChecke::assumeZero

Gabor Marton via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 25 02:41:53 PDT 2020


martong added a comment.

Beware, Phabricator ruins the visual experience of this nice analysis. E.g `//char ***//` is visible as an italic `char *`.

> I think we should have a symbolic cast back to the static type before doing anything with the SVal (iff the BaseKind differs).
> If we do this, we will get a Loc as expected - and neither this bug nor your original bug would fire.

I fully agree, I think this is the way.

Though, the fix probably will not be simple, because the issue itself always requires a 3x indirection. The code that is presented by @steakhal is the least minimal example to get this crash. The reason why we cannot have a crash with a `**` is a mystic at the moment.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77062/new/

https://reviews.llvm.org/D77062



More information about the cfe-commits mailing list