Тишинуша Гамимеря (spamsink) wrote,
Тишинуша Гамимеря
spamsink

Category:

Вдруг невозможное возможно?


Дорвался, наконец, до Coverity (система статического анализа кода на предмет типичных программистских ошибок). В бытность стартапом много лет назад мы их продукт рассматривали на предмет полезности; тогда оказалось, что он скорее обуза. Сейчас же, в большой компании, где она уже установлена, почему бы не попробовать, тем более что столько времени прошло, должно было бы получше стать?

Ну и попробовал на свою голову (ниже псевдокод, демонстрирующий проблему, цветом выделены комментарии Coverity):
char* sName = strdup(что-то);
char* sTempName = NULL;
while (...) {
Assigning: "sTempName" = "sName". Now both point to the same storage.
    sTempName = sName ;
    if (...) {
        sName = strdup(что-то ещё);
    }
    ...
At conditional: "sTempName != sName" taking the true branch.
    if (sTempName != sName) {
"free" frees parameter "sTempName".
        free(sTempName);
    }
}
Using freed pointer "sName".
return sName;


Ну не зайки?

Upd: --enable-constraint-fpp
Subscribe

  • Тьюринг был северный осетин

    СЯУ, что имя Alan (тж. Allan, Allen, и пр.) - не просто омоним демонима жителя Северной Осетии-Алании, и даже не просто когнат, а целый дериват.…

  • Фоносемантическая расстыковка

    ...или семантическое насыщение на новый лад. После того, как я несколько раз произнёс про себя "глоссохронология" и "глоттолалия", я на некоторое…

  • Просто так, амбулаторное

    А вы отдавали себе отчёт, что состояние зомби - это, в сущности, состояние амбулаторной смерти?

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 26 comments

  • Тьюринг был северный осетин

    СЯУ, что имя Alan (тж. Allan, Allen, и пр.) - не просто омоним демонима жителя Северной Осетии-Алании, и даже не просто когнат, а целый дериват.…

  • Фоносемантическая расстыковка

    ...или семантическое насыщение на новый лад. После того, как я несколько раз произнёс про себя "глоссохронология" и "глоттолалия", я на некоторое…

  • Просто так, амбулаторное

    А вы отдавали себе отчёт, что состояние зомби - это, в сущности, состояние амбулаторной смерти?