Показать сообщение отдельно
  #26  
Старый 23.04.2017, 22:21
Semen Panevin
Guest
 
Сообщений: n/a
По умолчанию Re: Spellchecker issue

Semen Panevin написал(а) к Michael Dukelsky в Apr 17 20:52:00 по местному времени:

Доброго здоровьица тебе, Michael!

Sunday April 23 2017 19:10, Michael Dukelsky писал Semen Panevin:

SP>> Перечитал всё что можно про delete и delete[], поставил несколько
SP>> следственных экспериментов в рамках остаточных сиплюсплюсных
SP>> познаний, и даже попытался осилить XlatStr(...). На первый взгляд
SP>> косяков не обнаружено. Но падает...

SP>> Падает точно после XlatStr. Если её закомментить - то не падает.

MD> Копаться в этом коде лень.
Т.е. всё? можно попрощаться со спелчекером? Или есть шанс, что найдётся кто-то кому не лень?

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

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

Смущает то, что эта функция не является частью кода спелчекера, и используется ещё в куче мест. Но больше нигде почему-то не падает, и в этом месте тоже раньше почему-то не падало...

Правда в других местах может не быть new/delete поэтому грабли могут вылезти крайне случайно и неочевидно...

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

... Без крыльев далеко не улетишь
--- GoldED+/LNX 1.1.5-b20170303 (Linux 4.1.12-gentoo iF6M10)
Ответить с цитированием