Вариант для распечатки |
Пред. тема | След. тема | ||
| Форум Разговоры, обсуждение новостей | |||
|---|---|---|---|
| Изначальное сообщение | [ Отслеживать ] | ||
| "Проект Curl избавился от использования функции strcpy в коде" | +/– | |
| Сообщение от opennews (?), 31-Дек-25, 10:12 | ||
Дэниел Cтенберг (Daniel Stenberg), автор утилиты для получения и отправки данных по сети curl, объявил о прекращении использования функции strcpy() в кодовой базе проекта и запрете применения данной функции в дальнейшем. Решение является продолжением инициированного в прошлом году отказа от использования функции strncpy(), копирующей заданное число байт из входящей строки. Применение strncpy() создавало опасность возникновения ошибок из-за пропуска нулевого символа в конце строки или добавочного заполнения нулями... | ||
| Ответить | Правка | Cообщить модератору | ||
| Оглавление |
| Сообщения | [Сортировка по ответам | RSS] |
1.
Сообщение от Ilnarildarovuch (?), 31-Дек-25, 10:12
| +3 +/– | |
Молодцы, хорошее и safe изменение! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #20, #56 | ||
| 3. Сообщение от Bottle (?), 31-Дек-25, 10:19 | +6 +/– | |
А могли бы использовать C++ и не пилить велосипед со строками... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #9, #11, #13 | ||
| 4. Сообщение от Аноним (4), 31-Дек-25, 10:26 | +2 +/– | |
Где бенчмарки? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 5. Сообщение от Tron is Whistling (?), 31-Дек-25, 10:27 | +/– | |
Ну вот да, если нет managed строк - явная передача размеров буферов - лучшее решение. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 6. Сообщение от kravich (ok), 31-Дек-25, 10:31 | +1 +/– | |
>Кроме того, прекращение использования strcpy позволит избавиться от потока ложных сообщений об уязвимостях из-за некорректных срабатываний AI-инструментов, считающих наличие strcpy() уязвимостью без учёта имеющихся в коде проверок. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #7, #22 | ||
| 7. Сообщение от Tron is Whistling (?), 31-Дек-25, 10:39 | +5 +/– | |
Что да, то да. Когда термометр на мороженой рыбе показывает +50 - стоит выкинуть термометр. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 9. Сообщение от Аноним (9), 31-Дек-25, 10:45 | –2 +/– | |
а могли бы использовать питон и не заморачиваться вообще, а могли бы заплатить денег индусам и им бы все накодили, а могли бы найти гадалку чтобы она им искала ошибки через спиритические сеансы, ....сколько возможностей упущенно, ай яй яй | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 Ответы: #66 | ||
| 10. Сообщение от онанист (?), 31-Дек-25, 10:53 | +1 +/– | |
из-за некорректных срабатываний AI-инструментов, считающих наличие strcpy() уязвимостью | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #24 | ||
| 11. Сообщение от Аноним (-), 31-Дек-25, 10:53 | –6 +/– | |
Поясню, программирование на чистом Си похоже на поэзию. Когда вы пишите стихи, люди жившие до вас много раз писали о том, о чём пишите Вы. Но данный факт не является причиной того что не надо писать стихи. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 Ответы: #57, #59 | ||
| 12. Сообщение от Фонтимос (?), 31-Дек-25, 11:00 | +/– | |
>автор утилиты ..., объявил о | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #14, #23, #33 | ||
| 13. Сообщение от xPhoenix (ok), 31-Дек-25, 11:05 | –1 +/– | |
Рано или поздно и curl на Rust перепишут. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 Ответы: #15, #17, #21, #48 | ||
| 14. Сообщение от An (??), 31-Дек-25, 11:09 | +/– | |
Зря вы так. C тут то, что доктор прописал. На python слишком медленно будет. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #12 Ответы: #40 | ||
15.
Сообщение от Ilnarildarovuch (?), 31-Дек-25, 11:12
| +1 +/– | |
И это будет отвратительно | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 | ||
| 17. Сообщение от Аноним (17), 31-Дек-25, 11:21 | +4 +/– | |
Уточнение: | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 Ответы: #30 | ||
| 19. Сообщение от Аноним (-), 31-Дек-25, 11:31 | –1 +/– | |
> Применение strncpy() создавало опасность возникновения ошибок из-за | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #26, #27, #28 | ||
| 20. Сообщение от Аноним (20), 31-Дек-25, 11:35 | +2 +/– | |
Очень affordable | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #1 | ||
| 21. Сообщение от aname (ok), 31-Дек-25, 11:36 | +/– | |
Ох уж эти тысячи глаз | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 | ||
| 22. Сообщение от aname (ok), 31-Дек-25, 11:37 | +/– | |
С другой стороны, заявляется, что качество кода улучшено. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 23. Сообщение от aname (ok), 31-Дек-25, 11:39 | –1 +/– | |
Не совсем понятно, зачем ему что- то переписывать на C# | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #12 Ответы: #41 | ||
| 24. Сообщение от Аноним (24), 31-Дек-25, 11:41 | +1 +/– | |
"False positives" существовали всегда, если "эксперты по безопасности", проверяющие код AI-инструментами, об этом не в курсе, то это вопрос квалификации таких "экспертов". (Это, конечно же, не отменяет того факта, что AI в его нынешнем состоянии - срущий под себя младенец, пригодный только для выкачивания денег из инвесторов) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #10 | ||
| 25. Сообщение от Аноним (24), 31-Дек-25, 11:47 | +1 +/– | |
Для исключения уязвимостей в коде на Си достаточно средств, предоставляемых самим Си? Ай, беда-трагедия, как же тогда прогресс двигать, если можно без модных язычков обходиться? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 26. Сообщение от Аноним (26), 31-Дек-25, 11:49 | +1 +/– | |
> Хехе, classic. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #19 | ||
| 27. Сообщение от Аноним (26), 31-Дек-25, 11:50 | +1 +/– | |
правка: memcpy, неважно, суть в общем ясна. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #19 | ||
| 28. Сообщение от Аноним (28), 31-Дек-25, 11:51 | +/– | |
> Шикарный йазычог с офигенно продуманной стандартной либой :) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #19 Ответы: #72 | ||
| 29. Сообщение от Аноним (29), 31-Дек-25, 11:53 | +/– | |
А поцаны, писавшие всю жизнь на паскале и использовавшие для этого string, даже и не знали об этой проблеме. А кто то все еще думает, что паскаль с его строгой типизацией - плохой язык. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #32, #35 | ||
| 30. Сообщение от Аноним (30), 31-Дек-25, 11:58 | +/– | |
Уточнение: | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #17 Ответы: #44 | ||
| 31. Сообщение от Аноним (31), 31-Дек-25, 11:58 | +/– | |
memccpy ему не понравилась? Занулять строку звучит как лютый костыль всё равно, лучше уж abort кидать чтобы баги быстрее пофиксить связанные с неправильным размером буфера. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #39 | ||
32.
Сообщение от warlock (??), 31-Дек-25, 12:13
| +/– | |
string — это который не может быть длиннее 255 символов? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #29 Ответы: #36, #58, #63 | ||
| 33. Сообщение от Аноним (-), 31-Дек-25, 12:20 | +/– | |
Он уже пытался, но неосилил выносить нытье любителей некроплатформ. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #12 Ответы: #43 | ||
| 34. Сообщение от Tron is Whistling (?), 31-Дек-25, 12:22 | +/– | |
Вот что криво в этой реализации - нет отработки варианта slen == dsize и src[slen - 1] == 0. Это вполне себе корректный вариант, который тупо пропущен. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #37 | ||
| 35. Сообщение от Tty4 (?), 31-Дек-25, 12:23 | +/– | |
Паскаль всегда был слишком понятным и эффективным. Если что-то написано - сразу понятно, бред или нет (академический, те физиков и ко, код очень часто бред, просто иногда работает, его в расчет не берём). Очень сложно пускать пыль в глаза, когда Вас легко вывести на чистую воду. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #29 | ||
| 36. Сообщение от Аноним (-), 31-Дек-25, 12:27 | +/– | |
Ты что паскаль последний раз видел когда Ельцин был президентом)? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #32 Ответы: #38, #54 | ||
| 37. Сообщение от Аноним (-), 31-Дек-25, 12:35 | –1 +/– | |
Не трогай! Это на новый год! (следущий))) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #34 | ||
| 38. Сообщение от Аноним (26), 31-Дек-25, 12:39 | +1 +/– | |
> Ты что | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #36 | ||
| 39. Сообщение от Tron is Whistling (?), 31-Дек-25, 12:41 | –1 +/– | |
Шпасибо за идею, ребята, но таки не лучше. Пусть у меня лучше один запрос завалится с непонятным багом, чем всё приложение. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #31 Ответы: #51 | ||
| 40. Сообщение от Фонтимос (?), 31-Дек-25, 12:41 | –1 +/– | |
Ну, питон как-бы популярный, но думаю, сейчас уже не актуальный. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #14 Ответы: #68 | ||
| 41. Сообщение от Фонтимос (?), 31-Дек-25, 12:42 | +/– | |
Да, не, это не слишком актуально сейчас | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #23 | ||
| 42. Сообщение от Аноним (-), 31-Дек-25, 12:43 | –1 +/– | |
Охохо, опять strncpy. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #50 | ||
| 43. Сообщение от Фонтимос (?), 31-Дек-25, 12:43 | +/– | |
Бог любит троицу, так-что еще не все потеряно | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #33 | ||
| 44. Сообщение от Аноним (44), 31-Дек-25, 12:44 | +1 +/– | |
Его и первый раз не начали, там растеры сделали какой-то минимальный бекенд и забросили, думая что Даниэль будет сам поддерживать его. А он не стал и просто выбросили его - https://daniel.haxx.se/blog/2024/12/21/dropping-hyper/ | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #30 Ответы: #75 | ||
| 45. Сообщение от Аноним (45), 31-Дек-25, 12:44 | +/– | |
>Теперь все вызовы strcpy() заменены на новую функцию curlx_strcopy | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #53, #67 | ||
| 47. Сообщение от zionist (ok), 31-Дек-25, 12:59 | +1 +/– | |
> Решение является продолжением инициированного в прошлом году отказа от использования функции strncpy(), копирующей заданное число байт из входящей строки. Применение strncpy() создавало опасность возникновения ошибок из-за пропуска нулевого символа в конце строки или добавочного заполнения нулями. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #64, #76 | ||
| 48. Сообщение от zionist (ok), 31-Дек-25, 13:05 | –1 +/– | |
Если уже и переписывать, то на Go. Потому что использование системного языка для простой утилиты выглядит как из пушки по воробьям. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 Ответы: #52 | ||
| 50. Сообщение от Аноним (71), 31-Дек-25, 13:14 | +1 +/– | |
Ну и что теперь из-за каждого чтения привет мира нужно городить библиотеку на 10 мегабайт? Раньше операционные системы были меньше 10 мегабайт. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #42 | ||
| 51. Сообщение от Аноним (-), 31-Дек-25, 13:20 | +1 +/– | |
> Пусть у меня лучше один запрос завалится с непонятным багом, чем всё приложение. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #39 | ||
| 52. Сообщение от Аноним (44), 31-Дек-25, 13:22 | +1 +/– | |
Curl это библиотека - libcurl, а не утилита. С ней линкуется софт, если нужен http/ftp/smtp/pop3/ldap/ssh протоколы. Так что не катит тут твой гоу с его GC, рантаймом и непонятным API. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #48 | ||
| 53. Сообщение от Аноним (26), 31-Дек-25, 13:22 | +/– | |
> от безысходности | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #45 | ||
| 54. Сообщение от Аноним (44), 31-Дек-25, 13:26 | +/– | |
> Чего дырявым ЯП даже не снилось. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #36 Ответы: #69 | ||
| 56. Сообщение от Аноним (56), 31-Дек-25, 13:33 | +/– | |
А всего-то нужно было Кернигана-Ритчи прочитать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #1 Ответы: #71 | ||
| 57. Сообщение от Аноним (57), 31-Дек-25, 13:34 | –1 +/– | |
Программирование на чистом Си похоже на письмо по слогам. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #11 Ответы: #60 | ||
| 58. Сообщение от Аноним (29), 31-Дек-25, 13:36 | +/– | |
Неа. Строки были динамические еще со времен TP. Причем за временем жизни следить компилятор. А всякие вот эти strблаблабла из Си - это что то из времен, когда выделять память динамически было слишком дорого, а потому или она выделялась на стеке (привет записывание за пределы буффера, бугага), или использовался некий статический буффер (привет thread-unsafe). Как давно это было? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #32 | ||
| 59. Сообщение от Аноним (56), 31-Дек-25, 13:37 | +2 +/– | |
> Поясню, программирование на чистом Си похоже на поэзию. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #11 Ответы: #73 | ||
| 60. Сообщение от Zulu (?), 31-Дек-25, 13:39 | +/– | |
Самурай без меча подобен самураю с мечом, но без меча. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #57 | ||
| 62. Сообщение от Аноним (62), 31-Дек-25, 13:39 | –1 +/– | |
Недавно смотрел код этой библиотеки. Код страшноват даже по меркам си. С модульностью как-то тоже не очень, один здоровый монолит. Даже не ясно, кто в здравом уме будет это поддерживать, если автор отойдёт от дел. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #70 | ||
| 63. Сообщение от Аноним (29), 31-Дек-25, 13:40 | +/– | |
Да, на паскале можно писать почти как на скриптовом языке. Можно создать что то типа TList<TMyInterface>, добавлять туда что то без необходимости очищать это добро унылым кодом типа for I := 0 to FList.Count - 1 do FList[I].Free. И даже можно создавать, едрен батон, анонимные объекты, т.е. что то типа MyFunc(TMyObject.Create). | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #32 | ||
| 64. Сообщение от Аноним (56), 31-Дек-25, 13:41 | +1 +/– | |
Надо же было гражданину отличиться. Отличился. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #47 | ||
| 66. Сообщение от Аноним (56), 31-Дек-25, 13:46 | +/– | |
> а могли бы заплатить денег индусам и им бы все накодили | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #9 | ||
| 67. Сообщение от Аноним (44), 31-Дек-25, 13:48 | +/– | |
>[оверквотинг удален] | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #45 | ||
| 68. Сообщение от Аноним (56), 31-Дек-25, 13:50 | +/– | |
> Ну, питон как-бы популярный | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #40 | ||
| 69. Сообщение от Аноним (-), 31-Дек-25, 13:52 | +/– | |
> В Си строки | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #54 Ответы: #74 | ||
| 70. Сообщение от Аноним (71), 31-Дек-25, 13:53 | +/– | |
ИИ будет поддерживать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #62 | ||
| 71. Сообщение от Аноним (71), 31-Дек-25, 13:55 | +/– | |
И иконку перед монитором чтобы она защищала написанный код. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #56 | ||
| 72. Сообщение от Аноним (56), 31-Дек-25, 13:57 | +1 +/– | |
> Microsoft ещё в ранних Visual Studio сделала, чтобы компилятор ругался. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #28 | ||
| 73. Сообщение от cnjzxir (?), 31-Дек-25, 13:57 | +/– | |
Можно примеры? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #59 | ||
| 74. Сообщение от Аноним (44), 31-Дек-25, 14:05 | +/– | |
> А в СИ есть строки? Вот это новость!!! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #69 | ||
| 75. Сообщение от morphe (?), 31-Дек-25, 14:05 | +/– | |
Он же прямо говорит что вместе с теми кто этот бекенд и добавил решили что оно не нужно, функциональность слишком сильно дублирует то что в curl уже есть, не давая особых преимуществ, но при этом усложняя сборку | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #44 | ||
| 76. Сообщение от Аноним (-), 31-Дек-25, 14:06 | +/– | |
> Каким образом можно пропустить нулевой символ в конце строки | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #47 | ||
|
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |