Coverity утверждает, что getenv возвращает испорченную строку, и я исчерпал все свои идеи для проверки возвращаемого значения.Я посмотрел на другие вопросы, похожие на мои, но ни одно из их решений не помогло мне.
Я пытался проверить возврат на NULL, я пробовал strdup, strncpy, memcpy, и, похоже, ничего не помоглоиспорченные струны уходят.
Вот оригинальный код без проверок, которые не работали:
void my_func()
{
for(int port = 0; port < NUM_PORTS; port++) {
download_id_table(port,getenv("ID_FILE")); //tainted string from getenv
}
download_info(getenv("INFO_FILE")); //tainted string from getenv
//...
}
Любые идеи о том, как я могу получить Coverity, чтобы поверить, что он больше не испорчен?