2011-12-21 3 views
3

Я бы не вставлял изображение, я бы предоставил код в виде текста, но я чувствовал, что анализатор предупреждает, где важно.Левый операнд «&» - значение мусора

Я не уверен, что это значит и как исправить проблемы.

enter image description here

Полный код можно найти здесь https://github.com/robbiehanson/CocoaHTTPServer/blob/master/Core/Categories/DDData.m

ответ

7

Обычно вы можете расширить предупреждение в боковой панели, чтобы получить подробный список потока управления, что приводит к такой ситуации. В вашем случае статический анализатор говорит, что при определенном наборе обстоятельств эта строка кода будет выполняться там, где inbuf[1] никогда не инициализировалось значением, и, следовательно, является мусором.

Я бы предположил, что обстоятельства, если ch == '=', это установит flendtext в YES, который установит ixinbuf в 3, что означает, что inbuf[x] для х == 0-2 никогда не будет инициализирован, и последующий доступ из них значения - мусор.

+0

Большое спасибо, но я смущен относительно того, как действовать :( – Jules

+0

@Jules: перепишите код так, чтобы он не зависел от значений мусора. –

+0

@Jules: Ваш вопрос был тем, что означало предупреждение анализатора. Ответ на этот вопрос: вопрос о том, как исправить ломаную логику в вашем коде, отличается. Каков ваш код, ожидаемый от ввода '' d = "' (например, один символ перед '=')? Убедитесь, что он Это потому, что похоже, что это не будет правильно написано. –

Смежные вопросы