|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.05.2016, 09:33 | #1 |
Пользователь
Регистрация: 25.12.2013
Сообщений: 91
|
Функция gets_s
Подскажите, пожалуйста, на сколько понимаю функция gets_s должна защищать от переполнения буфера. Но в таком коде:
char *pt = new char[10]; gets_s(pt, 10); при вводе строки более 10 символов вылетает фатальная ошибка: ExpressionL"Buffer is too small" && 0) Как я понимаю переполнение буфера. Смысл этой функции, если не защищает от переполнения ? |
30.05.2016, 10:14 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Там речь про https://www.google.com/search?q=buffer+overflow+attack а не про удобство программиста не выделившего нужный размер или не указавшего сколько читать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
30.05.2016, 10:23 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
|
30.05.2016, 21:01 | #4 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Зачем именно gets_s?
fgets не устраивает чем? Может поможет: Код:
Последний раз редактировалось Croessmah; 30.05.2016 в 21:04. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как сохраняется введенное слово в gets_s(str).си | nataqwest | Помощь студентам | 1 | 21.12.2014 12:37 |
Функция на си | Verax1 | Помощь студентам | 2 | 26.04.2014 19:49 |
функция | Vitalya_1993 | Помощь студентам | 1 | 09.12.2011 10:13 |
Проблемы с gets_s | whyer | Общие вопросы C/C++ | 0 | 23.04.2010 00:58 |
одна функция потока, а другая функция - член класса запускающего этот поток | Дмитрий_Ч | Общие вопросы C/C++ | 2 | 27.09.2007 08:50 |