Здравствуйте, vopl, Вы писали:
V>Здравствуйте, jul_nevermind, Вы писали:
_>>CMake (от англ. cross-platform make) — это кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода. CMake не занимается непосредственно сборкой, а лишь генерирует файлы управления сборкой из файлов CMakeLists.txt.
_>>Недавно проект проверили разработчики статического анализатора и написали об этом статью. Прежде, чем прочитать ее, сможете сказать, что не так в этом коде?
_>>_>>static int64_t
_>>expand(struct archive_read *a, int64_t end)
_>>{
_>> ....
_>> if ((lensymbol = read_next_symbol(a, &rar->lengthcode)) < 0)
_>> goto bad_data;
_>> if (lensymbol >=?? (int)(sizeof(lengthbases)/sizeof(lengthbases[0])))
_>> goto bad_data;
_>> if (lensymbol >=?? (int)(sizeof(lengthbits)/sizeof(lengthbits[0])))
_>> goto bad_data;
_>> len = lengthbases[lensymbol] + 2;
_>> if (lengthbits[lensymbol] > 0) {
_>> if (!rar_br_read_ahead(a, br, lengthbits[lensymbol]))
_>> goto truncated_data;
_>> len += rar_br_bits(br, lengthbits[lensymbol]);
_>> rar_br_consume(br, lengthbits[lensymbol]);
_>> }
_>> ....
_>>}
_>>
V>разыменование массивов по индексу, равному размеру массива?
Верно