Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.GOLDED
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.GOLDED с датами от 16 Jul 13 03:28:02 до 23 Sep 24 22:56:51, всего сообщений: 3613
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 1264 из 3613 ======================================== RU.GOLDED =
От   : Semen Panevin                    2:5025/121         29 Apr 17 08:04:04
Кому : Michael Dukelsky                                    29 Apr 17 08:04:04
Тема : Re: Spellchecker issue
FGHI : area://RU.GOLDED?msgid=2:5025/121+59042002
На   : area://RU.GOLDED?msgid=2:5020/1042+58fda7bb
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.GOLDED?msgid=2:463/3232+5904d25b
Ответ: area://RU.GOLDED?msgid=2:5020/1042+5904e508
Ответ: area://RU.GOLDED?msgid=2:5020/545+5908bcd1
==============================================================================
    Доброго здоровьица тебе, Michael!

 Monday April 24 2017 10:04, Michael Dukelsky писал Semen Panevin:

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

SP>> Под dest выделяется памяти src len + 1. Я пробовал увеличить в 2
SP>> раза, не помогло.

MD> Не надо гадать. Надо проверить, что функция XlatStr действительно
MD> портит значение указателя на выделенную память.
Увеличение буфера в ТРИ раза помогло. Значит точно портит, и точно в конце. Функция здоровая с кучей непонятной мне логики, самому разобраться в ней я ниасилю. Посему вопрос: коммитить воркароунд с увеличением буфера?

MD>  Если портит, то нужно
MD> разобраться из-за чего это происходит, из-за того, что она получает
MD> неверные данные, которые она не должна была получить, или из-за ошибки
MD> в самой функции. В первом случае неверные данные могут быть такими,
MD> что функция пишет по адресам, меньшим чем начало выделенного массива
MD> памяти. Поэтому сколько памяти не выделяй, это не поможет.
Путём следственных экспериментов выяснено, что портится именно в конце. Иначе увеличение не помогло бы.

MD>  В обоих
MD> случаях надо добавить проверку входных данных функции, чтобы она не
MD> могла писать за границы выделенного массива.
Ниасилю. Я все эти указатели позабывал уже.

                                С наилучшими пожеланиями, Семён.

... Хорошо там, где мы есть! (про фидошников)
--- GoldED+/LNX 1.1.5-b20170303 (Linux 4.1.12-gentoo iF6M10)
* Origin: IceLAN (2:5025/121)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.036317 секунды