[clang] [analyzer] Fix crash on non-standard string function overloads (PR #180544)

DonĂ¡t Nagy via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 10 07:03:26 PST 2026


NagyDonat wrote:

> Thank you very much for the detailed and thorough answer and guidance. Initially, I considered performing parameter checks within evalStrcmpCommon. However, since I'm not very familiar with static analyzers, I wasn't sure how entering evalStrcmpCommon might affect the logic handling int strcmp(const char *, char), so I implemented it this way.
> I will move the implementation to handle it after entering evalStrcmpCommon as you suggested, but I would appreciate gaining a better understanding of this related concept.

I don't see what you mean under "entering evalStrcmpCommon might affect the logic handling `int strcmp(const char *, char)`". As you can see in the method `evalCall()` -- which is implemented directly below `identifyCall` -- the callback is executed practically immediately when `identifyCall` finds it, so there is no relevant difference between placing your code at the end of `identifyCall` and placing it at the beginning of the callback.

--------

Also, please disclose if you are using AI to generate code and/or answer comments here. AI use is allowed on this project (in fact I accepted PRs by @steakhal where he used it) but contributors must follow the [AI Tool Use Policy](https://llvm.org/docs/AIToolPolicy.html) and e.g. disclose significant use of AI tools.

https://github.com/llvm/llvm-project/pull/180544


More information about the cfe-commits mailing list