Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Тут недавно слили исходники «Team Fortress 2» и «Counter Strike: Global Offense» — и в соответствующих местах начался вой игроков: кошмар, мы все умрём, нас всех взломают!
Очень смешно наблюдать за людьми, которые искренне считают, что закрытый код — это надёжная защита от хакеров, а если его сольют — то всё, пиздец, хакеры всех взломают.
Ещё смешнее наблюдать за тем, что после слива хакеры действительно всех ломают: https://i.imgur.com/Q9FedYy.png, и в TF2 уже нашли кучку RCE (в посте не RCE, а просто рандомное переполнение буфера, которое я нашёл за пять минут просмотра сорцов).
Как минимум — можно крашнуть клиент. Как максимум — за этим буфером будут лежать какие-то важные данные, перезапись которых может привести к непредсказуемым последствиям, вплоть до RCE (например, если там будет удачно лежать какой-нибудь объект с таблицей виртуальных функций).
Кто-то не умеет, кто-то умеет но выёбывается, кто-то просто вечером устал и концентрации не хватило. Результат одинаковый.
Вот, казалось бы, банальная задачка - проверить, что тег есть в списке тегов, разделённых запятой. Чтение за границей буфера, кровь-кишки, RCE рандомный ответ.
А я за JS. В JS как-то проще выглядит. Пока в сишке пердолишь ручной код, в крестах инклюдишь бусторегулярки, в питоне разбираешься с импротом и порядком аргументов, в пхп вводишь длинные беременные функции, в жс быстро и просто пишешь: 'питух'.replace(/тух/g, 'линух')
Ещё смешнее наблюдать за тем, что после слива хакеры действительно всех ломают: https://i.imgur.com/Q9FedYy.png, и в TF2 уже нашли кучку RCE (в посте не RCE, а просто рандомное переполнение буфера, которое я нашёл за пять минут просмотра сорцов).
Казалось бы, при чём здесь опенсорс?..
Сру
Обскьюрити
Такой код в принципе не сулит ничего хорошего.
Нахуя?! Не пишут же туда ничего. Чтобы потом == и = попутать и таки что-то туда записать?
Да не говори. В 99% случаев, заметив работу со строками или путями в си или крестах, можно найти RCE или хотя бы краш.
и вообще откуда char* в С++ в 2020?
Вот, казалось бы, банальная задачка - проверить, что тег есть в списке тегов, разделённых запятой. Чтение за границей буфера, кровь-кишки, RCE рандомный ответ.
Грустно это всё.
- каким программистом на С++ будешь сегодня ты?
Это просто древний «C++» образца года эдак 2005-го.
1985-го, может
клиент метода думал что конст, и передал туда строковой литерал
и соснул
ахахаха
питух видит импилист знание
Впрочем я ожидал в ответ классическую петросянщину