Все проще, вышел за пределы диапазона. А после массива там другие данные, которые затёрлись и я получил сегфолт в совершенно другом месте.
Добавил проверку, не достиг ли count максимально возможного значения.
unsigned char* rs_mem_alloc(uint32_t bytes, int pool_index) { rs_mem_alloc_adv( bytes, "", 0, pool_index); };
Варнинги, что ли, почитать...
Роман Шувалов
> Варнинги, что ли, почитать...
обычно это считается ошибкой компиляции
Нечтение варнингов?
Роман Шувалов
-Wall -Wextra -Werror
kipar
> -Werror
Там куча ошибок вроде "неиспользуемый параметр". По -Wall -Wextra уже сам прошелся.
Роман Шувалов
как минимум надо:
-Werror=return-local-addr -Werror=return-type
Роман Шувалов
Эти неиспользуемые параметры несколько раз мне баги ловили. Так что теперь для стороннего кода я использую -Wall-Werror, а в своём просто UNUSED(param1); UNUSED(param2); там где они и правда не используются (ну это макрос для "(void)param1", кажется мне нагляднее).
kipar
> а в своём просто UNUSED(param1); UNUSED(param2);
Тоже так сделал, но таких штук оказалось много, надо потратить время чтобы везде исправить.
Delfigamer
> nodiscard
Си без плюсов, я даже получаю
Только что словил:
struct sidata { // Входные: float price_percent; wstring dirnamefile; wstring namefile; wstring dirout; // Выходные: int amfileout; }idata = { 0.0f, L"", L"", 0 };
сrash app,
целый час убил, можно сказать, на ровном месте.
Клапауций
> целый час убил
могло быть и больше))
Клапауций
> Только что словил:
-Werror=missing-field-initializers
/A\
> -Werror=missing-field-initializers
vc++2105(upd3)
PVS-Studio тож не ловит.
ага PVS выкинуть,
поставить gcc со всеми ключами в качестве статанализатора))
(а проектик то vc++\clr)
Misanthrope
> могло быть и больше))
это тот случай, когда в том месте меньше всего ждешь(а кода достаточно много).
там так я наформошлепил, что думал уже сама студия не может разобрать эт навал))
и нашел я случайно, но надо быть весьма не ленивым, чтобы для этого сделать кучу телодвижений :/
Клапауций
> PVS-Studio тож не ловит.
Ну это прям не фейл, а фейлище PVS-Studio. Напиши разрабам.