Главная » Архив меток: bugs

Архив меток: bugs

Контрибьютим в Go с помощью статического анализатора go-critic

Вы, возможно, помните недавний анонс нового статического анализатора для Go под названием go-critic. Я проверил с его помощью проект golang/go и отправил несколько патчей, которые исправляют некоторые найденные там проблемы. В этой статье мы разберём исправленный код, а также будем мотивироваться отправлять ещё больше подобных изменений в Go. Для самых нетерпеливых: обновляемый список трофеев. Список разбираемых патчей в Go Go, ...

Читать далее »

[Из песочницы] Уязвимость Mikrotik позволяет получать список всех пользователей через winbox

Но и ошибки в программном обеспечении никто не отменял. Устройства компании Mikrotik стали широко распространены из-за своей цены по отношению к функционалу. И на этот раз вылез серьёзный баг. 25 марта один из пользователей форума Mikrotik сообщил об обнаружении подозрительной активности маршрутизаторов mikrotik с применением портов telnet (TCP port 23), TR-069 (TCP port 7547) и WINBOX (TCP 8291). В последствии ...

Читать далее »

Оператор break и fallthrough

Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это вторая часть, которая будет посвящена оператору switch, а, вернее, проблеме забытого оператора break. Многие годы я изучал ошибки в программах и сейчас могу с уверенностью заявить, что в C, а вслед за ним и в C++, оператор switch сделан неправильно. Я ...

Читать далее »

Chromium: опечатки

Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это четвёртая часть, которая будет посвящена проблеме опечаток и написанию кода с помощью «Copy-Paste метода». От опечаток в коде никто не застрахован. Опечатки можно встретить в коде самых квалифицированных программистов. Квалификация и опыт, к сожалению, не защищают от того, чтобы перепутать название ...

Читать далее »

6 интересных багов, с которыми я столкнулся, пока делал игру для ВКонтакте

Мне нравится делать игры, это мое хобби. В общей сложности около года в свободное время я делал игру на javascript для ВКонтакте. В настоящее время игра доделана, запущена, прошла модерацию ВКонтакте и доступна в каталоге игр. Это не статья вида “как я сделал игру”, а рассказ о тех проблемах, с которыми я столкнулся, пока ее создавал. Надеюсь, кому-то данная информация ...

Читать далее »

Chromium: другие ошибки

Мы завершаем цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. После написания 6 статей, у нас всё ещё остаётся много нерассмотренных ошибок. Эти ошибки разнородны и про них сложно составить материал на определённую тему. Поэтому в этой седьмой статье будут просто выбраны и рассмотрены наиболее интересные дефекты. Как я писал в вводной статье, ...

Читать далее »

Почему важно проверять, что вернула функция malloc

Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это шестая часть, которая будет посвящена функции malloc. Вернее, тому, почему следует обязательно проверять указатель, возвращаемый этой функцией. Скорее всего, вы не догадываетесь, какой подвох связан с malloc, потому рекомендуем познакомиться с этой статьей. Примечание. В статье под функцией malloc часто будет ...

Читать далее »

Chromium: утечки памяти

Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это третья часть, которая будет посвящена утечкам памяти.Я считаю, что код проекта Chromium и используемые в нём библиотеки очень высокого качества. Да, в вводной статье я писал про 250 ошибок, но на самом деле — это очень маленькое число. В силу законов ...

Читать далее »

Chromium: использование недостоверных данных

Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это пятая часть, которая будет посвящена ошибкам использования непроверенных или неправильно проверенных данных. Очень большое количество уязвимостей существуют благодаря как раз использованию непроверенных данных, что делает данную тему интересной и актуальной. На самом деле, причиной уязвимости может стать ошибка почти любого типа, ...

Читать далее »