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


Присутствуют сообщения из эхоконференции RU.HUSKY с датами от 16 Jul 13 10:00:06 до 14 Jun 24 23:49:14, всего сообщений: 5324
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2149 из 5324 ========================================= RU.HUSKY =
От   : Nil Alexandrov                   2:5015/46          16 Nov 16 05:45:40
Кому : Eugene Palenock                                     16 Nov 16 05:45:40
Тема : FileFix не отдаёт %list
FGHI : area://RU.HUSKY?msgid=2:5015/46+582bdb5a
На   : area://RU.HUSKY?msgid=2:5015/46+582b67b0
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.HUSKY?msgid=2:5053/58.2+582c1bcf
Ответ: area://RU.HUSKY?msgid=2:5030/1474+582cc992
==============================================================================
Hello, Eugene!

Tuesday November 15 2016 22:51, from Nil Alexandrov -> Eugene Palenock:

NA> А, так просто htick в кору падает при разборе нетмейла на файлфикс.
NA> Husky у меня 1.9-cur из CVS. Надо будет поразбираться..

Блин, взял вроде самый популярный и проверенный комплект для фидо binkd+hpt+golded, валяться в кору все три компонента. :-(

Подебагерил binkd, популярные перлы запостил в ru.binkd.

Голдед спотыкается на нодлисте, вроде был фикс, но никто не засабмитил в репозитарий.
Также падает он на кривых Jam базах (можно степерь файл) и кривых мессагах (можно пометить как прочитанное и проедет мимо), тоже лень разбираться.

Сегодня поговорим про кривизну Хаски, все эти strcpy() без проверки на границы и равномерно разбросанные маллоками с константными значениями "авось хватит".

А дело было так, автоскриэйтилась у меня фэха 5020-723.files с названием "‹®Є ..." ну там на две строчки такой кодировки.
У ориджина стоит hpt-1.4 из файдо-айпи, и, видимо, не валиться, а у меня hpt-1.9-cur и вот трабл (к вопросу, что 1.4 версия совсем плохая).
Проблема общая для AreaFix и FileFix, если дескрипшен длинее 78 символов.

areafix/src/areafix.c, функция formatAreaList(), приходит ей maxlen=78, печатает она флажки '*RWMS', название фэхи, дальше доходит дело до дескрипшена, который wlen = strlen(al->areas[i].desc);
В maxlen такой дексрипшен не лезет, надо мультилайн делать, ставим перевод строки и допечатываем дескрипшен на след.строке
addline(addchars(text,' ',maxlen-wlen,&tpos,&tlen),al->areas[i].desc,&tpos,&tlen)
никто не заметил, что maxlen-wlen как бы получается отрицательное число, ну мы так аккуратно на чужую память залезаем.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: -=NIL BBS=- (2:5015/46)

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