П
Протестировал
@sqaunderhood1.9K подп.
1.3Kпросмотров
68.4%от подписчиков
24 декабря 2025 г.
Score: 1.4K
В прошлый понедельник вышла новая публичная версия PUC Rio Lua и хотя мы не успели сообщить о проблеме до релиза всё равно хотелось разобраться с целочисленным переполнением. Для репорта проблемы нужен репродьюсер, а у меня никак не получалось воспроизвести проблему на локальной сборке. Я стал минимизировать репро в контейнере OSS Fuzz. Получил репро на Lua и С, но с ними локально всё равно не воспроизводится. Минимизирую набор флагов компилятора, все равно локально не воспроизводится. Начинаю с нуля пошагово воспроизводить в окружении контейнера и не воспроизводится. Потом замечаю, что если путь к Lua-скрипту покороче, то воспроизводится, а если путь указывает на скрипт в отдельной директории, то не воспроизводится. Чудеса какие-то! +++ luaL_loadbuffer_proto_test.c 2025-12-23 14:27:19.277975264 +0000 @@ -5,7 +5,7 @@ int main() { lua_State *L = luaL_newstate(); luaL_openlibs(L); - luaL_loadfilex(L, "/src/testdir/repro.lua"); + luaL_loadfilex(L, "/src/testdir/lua/repro.lua"); lua_call(L, 0, 0); lua_settop(L, 0); lua_close(L); Экспериментирую дальше, выясняю, что длина пути влияет на воспроизведение. Чтобы упростить воспроизведение использую локальную директорию и указываю только имя файла. happy_new_year_2026.lua как раз подходит по длине и с ним всегда воспроизводится, локально в том числе. Репорт в рассылке, проблема подтверждена, исправление скоро будет.
1.3K
просмотров
1441
символов
Нет
эмодзи
Нет
медиа

Другие посты @sqaunderhood

Все посты канала →
В прошлый понедельник вышла новая публичная версия PUC Rio L — @sqaunderhood | PostSniper