Coverity игнорирует оператор возврата - PullRequest
0 голосов
/ 18 мая 2018

Как я могу получить Coverity для этого условия! PHost больше не нужно оценивать из-за оператора возврата?

bool mudlet::setWindowFont(Host* pHost, const QString& window, const QString& font)
1359{
    1. Condition !pHost, taking false branch.
1360    if (!pHost) {
1361        return false;
1362    }
1363
1364    QMap<QString, TConsole*>& dockWindowConsoleMap = mHostConsoleMap[pHost];
1365
    2. Condition dockWindowConsoleMap->contains(window), taking true branch.
1366    if (dockWindowConsoleMap.contains(window)) {
    3. assign_zero: Assigning: <temporary> = NULL.
    4. identity_transfer: Passing TConsole * const(NULL) as argument 2 to member function value, which returns that argument.
    5. alias_transfer: Assigning: pC = dockWindowConsoleMap->value(window, TConsole * const(NULL)).
1367        TConsole* pC = dockWindowConsoleMap.value(window);
    CID 1468654 (#1 of 1): Explicit null dereferenced (FORWARD_NULL)6. var_deref_model: Passing null pointer pC to setMiniConsoleFont, which dereferences it. [show details]

1 Ответ

0 голосов
/ 23 июля 2018

Я не думаю, что Coverity жалуется, что pHost равен нулю.Я думаю, что он просто говорит вам, что проанализировал остальную часть функции в ситуации, когда! PHost имеет значение false.

Похоже, что Coverity сообщает вам, что указатель pC будет нулевым после вызова dockWindowConsoleMap.value() потому что эта функция возвращает 2-й аргумент (который по умолчанию имеет значение null, поскольку вы его не предоставили).Затем Coverity считает, что вы используете pC в качестве входных данных для setMiniConsoleFont, который будет разыменовывать его.

Возможно, вы захотите посмотреть на источник для dockWindowConsoleMap.value (), чтобы увидеть, как его возвращаемое значение связано с этим необязательным вторым аргументом.а также посмотрите на setMiniConsoleFont, чтобы увидеть, как он разыменовывает свой ввод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...