powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
9 сообщений из 34, страница 2 из 2
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858214
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яс. Нужен сильно развернутый ответ.
https://habr.com/ru/company/abbyy/blog/205070/
...
Рейтинг: 0 / 0
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858215
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и я вроде и не против.

Но не у меня падает и ломается.
...
Рейтинг: 0 / 0
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858217
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglВ данному случае UB такое: для this == nullptr - реакция линтера "условие всегда ложно"А там не такой код. И это зря. Он конечно может понять, что this в переменную скопировали, тут не нужно гением быть.
Такие проверки просто так не появляются. Так что - нет, оно не всегда ложно, увы.

SiemarglА то тут малограмотных полфорума, банят то, что не понимают.Совершенно согласен - полно малограмотных, считающих что понимают чужой код по одной строке.

SiemarglНужен сильно развернутый ответ.Который не имеет ни малейшего отношения к приведенному фрагменту кода.

Может пора снять шоры с глаз и подумать - а зачем оно там на самом деле ?

И заодно рассказать - к каким ужасам оно приводит ? :)
...
Рейтинг: 0 / 0
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858218
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglНу и я вроде и не против.Вот и хорошо.

SiemarglНо не у меня падает и ломается.Оно падало не там, я уже говорил.
Уже не падает, кстати.
...
Рейтинг: 0 / 0
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858219
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladИ это зря.И это НЕ зря
:)
...
Рейтинг: 0 / 0
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858220
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad...SiemarglНужен сильно развернутый ответ.Который не имеет ни малейшего отношения к приведенному фрагменту кода.

Может пора снять шоры с глаз и подумать - а зачем оно там на самом деле ?

И заодно рассказать - к каким ужасам оно приводит ? :)
Я же сказал, что проверять надо было раньше 21964759 . К ужасам лишняя бесполезная проверка не приводит.

Но шоры можно и снять, слушаю внимательно вашу версию.
...
Рейтинг: 0 / 0
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858222
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglЯ же сказал, что проверять надо было раньшеА ты каждый вызов каждого метода проверяешь указатель объекта на нулл ?
Можешь верить, можешь не верить, но в реально подозрительных местах она есть.
Но, в позу стать конечно проще ( 21964801 )

SiemarglК ужасам лишняя бесполезная проверка не приводит.Ну, хоть что-то :)
Насчёт бесполезности - тут не тебе судить.

SiemarglНо шоры можно и снять, слушаю внимательно вашу версию.Вот предыдущая версия данного кода, до того, как ф-ция EXE_find_request стала методом JrdStatement::findRequest

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
jrd_req* EXE_find_request(thread_db* tdbb, jrd_req* request, bool validate)
{
...
/* I found a core file from my test runs that came from a NULL request -
 * but have no idea what test was running.  Let's bugcheck so we can
 * figure it out
 */
	if (!request)
		BUGCHECK /* REQUEST */ (167);	/* msg 167 invalid SEND request */


И появилась эта проверка ещё во времена FB1, а то и IB

И выкидывать её просто потому, что линтер не велит - нафиг-нафиг.
...
Рейтинг: 0 / 0
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858225
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Ну я тоже грешен, и излишние проверки потом не удаляю..

Но код совсем не идентичен.

В Си версии был входной контракт, что request != NULL, а в С++ этот контракт должен был вынесен на создание объекта JrdStatement ( в этом куске кода не видно, есть ли он)

И более того, в С коде должен был быть аналогичный контракт на tdbb != NULL, а вот в С++ версии его не видно (возможно в макросе SET_TDBB, но вряд ли).

Собственно, пора закруглять философскую тему. Думаю, мало кому интересно.
...
Рейтинг: 0 / 0
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
    #39858636
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

Очень даже интересно. На самом деле в последнее время совсем мало стало интересных тем, имхо.
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]