The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Проект Curl избавился от использования функции strcpy в коде"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от opennews (?), 31-Дек-25, 10:12 
Дэниел Cтенберг (Daniel Stenberg), автор утилиты для получения и отправки данных по сети curl, объявил о прекращении использования функции strcpy() в кодовой базе проекта и запрете применения данной функции в дальнейшем. Решение является продолжением инициированного в прошлом году отказа от использования функции strncpy(), копирующей заданное число байт из входящей строки. Применение strncpy() создавало опасность возникновения ошибок из-за  пропуска нулевого символа в конце строки или добавочного заполнения нулями...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64532

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Проект Curl избавился от использования функции strcpy в коде"  +2 +/
Сообщение от Ilnarildarovuchemail (?), 31-Дек-25, 10:12 
Молодцы, хорошее и safe изменение!
Ответить | Правка | Наверх | Cообщить модератору

20. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (20), 31-Дек-25, 11:35 
Очень affordable
Ответить | Правка | Наверх | Cообщить модератору

3. "Проект Curl избавился от использования функции strcpy в коде"  +8 +/
Сообщение от Bottle (?), 31-Дек-25, 10:19 
А могли бы использовать C++ и не пилить велосипед со строками...
Ответить | Правка | Наверх | Cообщить модератору

9. "Проект Curl избавился от использования функции strcpy в коде"  –3 +/
Сообщение от Аноним (9), 31-Дек-25, 10:45 
а могли бы использовать питон и не заморачиваться вообще, а могли бы заплатить денег индусам и им бы все накодили, а могли бы найти гадалку чтобы она им искала ошибки через спиритические сеансы, ....сколько возможностей упущенно, ай яй яй
Ответить | Правка | Наверх | Cообщить модератору

11. "Проект Curl избавился от использования функции strcpy в коде"  –3 +/
Сообщение от Аноним (-), 31-Дек-25, 10:53 
Поясню, программирование на чистом Си похоже на поэзию. Когда вы пишите стихи, люди жившие до вас много раз писали о том, о чём пишите Вы. Но данный факт не является причиной того что не надо писать стихи.

Что касается технической стороны, C++ не нужен. В учебниках и Интернете много всяких идиом и готовых функций на Си, которые программист может тупо пере-использовать. А если программсит напишет свою функцию, тоже неплохо. Во всяком случае это называется свободный выбор, а не велосипед.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

13. "Проект Curl избавился от использования функции strcpy в коде"  –1 +/
Сообщение от xPhoenix (ok), 31-Дек-25, 11:05 
Рано или поздно и curl на Rust перепишут.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

15. "Проект Curl избавился от использования функции strcpy в коде"  +1 +/
Сообщение от Ilnarildarovuchemail (?), 31-Дек-25, 11:12 
И это будет отвратительно
Ответить | Правка | Наверх | Cообщить модератору

17. "Проект Curl избавился от использования функции strcpy в коде"  +2 +/
Сообщение от Аноним (17), 31-Дек-25, 11:21 
Уточнение:

Начнут переписывать.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

30. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (30), 31-Дек-25, 11:58 
Уточнение:

второй раз

Ответить | Правка | Наверх | Cообщить модератору

44. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (44), 31-Дек-25, 12:44 
Его и первый раз не начали, там растеры сделали какой-то минимальный бекенд и забросили, думая что Даниэль будет сам поддерживать его. А он не стал и просто выбросили его - https://daniel.haxx.se/blog/2024/12/21/dropping-hyper/
Ответить | Правка | Наверх | Cообщить модератору

21. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от aname (ok), 31-Дек-25, 11:36 
Ох уж эти тысячи глаз
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

4. "Проект Curl избавился от использования функции strcpy в коде"  +1 +/
Сообщение от Аноним (4), 31-Дек-25, 10:26 
Где бенчмарки?
Ответить | Правка | Наверх | Cообщить модератору

5. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 10:27 
Ну вот да, если нет managed строк - явная передача размеров буферов - лучшее решение.
Ответить | Правка | Наверх | Cообщить модератору

6. "Проект Curl избавился от использования функции strcpy в коде"  +2 +/
Сообщение от kravich (ok), 31-Дек-25, 10:31 
>Кроме того, прекращение использования strcpy позволит избавиться от потока ложных сообщений об уязвимостях из-за некорректных срабатываний AI-инструментов, считающих наличие strcpy() уязвимостью без учёта имеющихся в коде проверок.

Это какой-то.... позор?

Ответить | Правка | Наверх | Cообщить модератору

7. "Проект Curl избавился от использования функции strcpy в коде"  +4 +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 10:39 
Что да, то да. Когда термометр на мороженой рыбе показывает +50 - стоит выкинуть термометр.
Ответить | Правка | Наверх | Cообщить модератору

22. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от aname (ok), 31-Дек-25, 11:37 
С другой стороны, заявляется, что качество кода улучшено.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

10. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от онанист (?), 31-Дек-25, 10:53 
из-за некорректных срабатываний AI-инструментов, считающих наличие strcpy() уязвимостью


очередная победа "безопасности" над здравым смыслом.
осталось ещё отключить интернет.

Ответить | Правка | Наверх | Cообщить модератору

24. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (24), 31-Дек-25, 11:41 
"False positives" существовали всегда, если "эксперты по безопасности", проверяющие код AI-инструментами, об этом не в курсе, то это вопрос квалификации таких "экспертов". (Это, конечно же, не отменяет того факта, что AI в его нынешнем состоянии - срущий под себя младенец, пригодный только для выкачивания денег из инвесторов)
Ответить | Правка | Наверх | Cообщить модератору

12. "Проект Curl избавился от использования функции strcpy в коде"  +1 +/
Сообщение от Фонтимос (?), 31-Дек-25, 11:00 
>автор утилиты ..., объявил о

Очевидно, что если Данила еще немного подумает, то придет к единственно верному решению - переписать вообще на другом актуальном языке.

Ответить | Правка | Наверх | Cообщить модератору

14. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от An (??), 31-Дек-25, 11:09 
Зря вы так. C тут то, что доктор прописал. На python слишком медленно будет.
Ответить | Правка | Наверх | Cообщить модератору

40. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Фонтимос (?), 31-Дек-25, 12:41 
Ну, питон как-бы популярный, но думаю, сейчас уже не актуальный.
Ответить | Правка | Наверх | Cообщить модератору

23. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от aname (ok), 31-Дек-25, 11:39 
Не совсем понятно, зачем ему что- то переписывать на C#
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

41. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Фонтимос (?), 31-Дек-25, 12:42 
Да, не, это не слишком актуально сейчас
Ответить | Правка | Наверх | Cообщить модератору

33. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (-), 31-Дек-25, 12:20 
Он уже пытался, но неосилил выносить нытье любителей некроплатформ.
Так что пусть хлебает щии(т) полной ложкой и выдумывает костыли для подпорки проекта.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

43. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Фонтимос (?), 31-Дек-25, 12:43 
Бог любит троицу, так-что еще не все потеряно
Ответить | Правка | Наверх | Cообщить модератору

19. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (-), 31-Дек-25, 11:31 
> Применение strncpy() создавало опасность возникновения ошибок из-за
> пропуска нулевого символа в конце строки или добавочного заполнения
> нулями.

Шикарный йазычог с офигенно продуманной стандартной либой :)
Прям все сделано для людей.

> Замена strcpy() на curlx_strcopy() произведена, так как существует
> вероятность человеческой ошибки, приводящей к разделению кода с
> проверкой/выделением памяти и вызовом strcpy(), например, при
> необдуманном переносе лишь части кода или вставки кода между проверкой
> и вызовом strcpy()

Хехе, classic.
Что забавно, даже новая curlx_strcopy не возвращает ошибку, если размеры не подходящие, а молча копирует нулевой символ.

Ответить | Правка | Наверх | Cообщить модератору

26. "Проект Curl избавился от использования функции strcpy в коде"  +1 +/
Сообщение от Аноним (26), 31-Дек-25, 11:49 
> Хехе, classic.

в топку любые функции в стд, которые используют внутри себя другие функции. Эти функции фактически обертки над memset, пусть эти обертки пишет сам программист под свои задачи, по факту если это функция в стандартной библиотеке, то по существу там все входные параметры должны быть проверены на корректность, и указатели и длины, а тут что? - одни предположения. Мракобесие!

Ответить | Правка | Наверх | Cообщить модератору

27. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (26), 31-Дек-25, 11:50 
правка: memcpy, неважно, суть в общем ясна.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

28. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (28), 31-Дек-25, 11:51 
> Шикарный йазычог с офигенно продуманной стандартной либой :)

Никто не мешает использовать более безопасные инструкции, вместо устаревших. Microsoft ещё в ранних Visual Studio сделала, чтобы компилятор ругался. Ты что ли не стареешь, офигенный продуман.

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

25. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (24), 31-Дек-25, 11:47 
Для исключения уязвимостей в коде на Си достаточно средств, предоставляемых самим Си? Ай, беда-трагедия, как же тогда прогресс двигать, если можно без модных язычков обходиться?
Ответить | Правка | Наверх | Cообщить модератору

29. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (29), 31-Дек-25, 11:53 
А поцаны, писавшие всю жизнь на паскале и использовавшие для этого string, даже и не знали об этой проблеме. А кто то все еще думает, что паскаль с его строгой типизацией - плохой язык.
Ответить | Правка | Наверх | Cообщить модератору

32. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от warlockemail (??), 31-Дек-25, 12:13 
string — это который не может быть длиннее 255 символов?
Ответить | Правка | Наверх | Cообщить модератору

36. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (-), 31-Дек-25, 12:27 
Ты что паскаль последний раз видел когда Ельцин был президентом)?
String is an alias for ShortString, AnsiString or Unicodestring (UTF16) depending on a compiler setting.

Т.е оно не просто поддерживает длинные строки, но еще и Unicode.
Чего дырявым ЯП даже не снилось.

Ответить | Правка | Наверх | Cообщить модератору

38. Скрыто модератором  +/
Сообщение от Аноним (26), 31-Дек-25, 12:39 
Ответить | Правка | Наверх | Cообщить модератору

35. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Tty4 (?), 31-Дек-25, 12:23 
Паскаль всегда был слишком понятным и эффективным. Если что-то написано - сразу понятно, бред или нет (академический, те физиков и ко, код очень часто бред, просто иногда работает, его в расчет не берём). Очень сложно пускать пыль в глаза, когда Вас легко вывести на чистую воду.
Поэтому Питон, Си, Раст нужны - мозг свой вынесешь, пока разберёшься, что не так работает.
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

31. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (31), 31-Дек-25, 11:58 
memccpy ему не понравилась? Занулять строку звучит как лютый костыль всё равно, лучше уж abort кидать чтобы баги быстрее пофиксить связанные с неправильным размером буфера.
Ответить | Правка | Наверх | Cообщить модератору

39. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 12:41 
Шпасибо за идею, ребята, но таки не лучше. Пусть у меня лучше один запрос завалится с непонятным багом, чем всё приложение.
Ответить | Правка | Наверх | Cообщить модератору

34. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 12:22 
Вот что криво в этой реализации - нет отработки варианта slen == dsize и src[slen - 1] == 0. Это вполне себе корректный вариант, который тупо пропущен.
Ответить | Правка | Наверх | Cообщить модератору

37. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (-), 31-Дек-25, 12:35 
Не трогай! Это на новый год! (следущий)))

А вообще это норм, как для сишки.
По хорошему функция должна возвращать ошибку при неверных входных параметрах, но обработку ошибок еще не завезли, так что "и так сойдет"

Ответить | Правка | Наверх | Cообщить модератору

42. "Проект Curl избавился от использования функции strcpy в коде"  +/
Сообщение от Аноним (-), 31-Дек-25, 12:43 
Охохо, опять strncpy.

Вот что она делает, судя по названию? Наверное копирует строку 🤔
Ан нет!
Она копирует не более n ненулевых байтов из источника и добивает буфер до n нулями (но зачем?), ломая инвариант - в буфере после копирования не строка.

Отличная функция для строковой библиотеки, чувствуется могучий дедовский дизайн - собрать столько бесполезной функциональности в одной функции.

Ответить | Правка | Наверх | Cообщить модератору

45. Скрыто модератором  +1 +/
Сообщение от Аноним (45), 31-Дек-25, 12:44 
Ответить | Правка | Наверх | Cообщить модератору

46. Скрыто модератором  +/
Сообщение от Аноним (46), 31-Дек-25, 12:47 
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру