|
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
|
|||
---|---|---|---|
#18+
Яс. Нужен сильно развернутый ответ. https://habr.com/ru/company/abbyy/blog/205070/ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 00:31 |
|
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
|
|||
---|---|---|---|
#18+
Ну и я вроде и не против. Но не у меня падает и ломается. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 00:33 |
|
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
|
|||
---|---|---|---|
#18+
SiemarglВ данному случае UB такое: для this == nullptr - реакция линтера "условие всегда ложно"А там не такой код. И это зря. Он конечно может понять, что this в переменную скопировали, тут не нужно гением быть. Такие проверки просто так не появляются. Так что - нет, оно не всегда ложно, увы. SiemarglА то тут малограмотных полфорума, банят то, что не понимают.Совершенно согласен - полно малограмотных, считающих что понимают чужой код по одной строке. SiemarglНужен сильно развернутый ответ.Который не имеет ни малейшего отношения к приведенному фрагменту кода. Может пора снять шоры с глаз и подумать - а зачем оно там на самом деле ? И заодно рассказать - к каким ужасам оно приводит ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 00:42 |
|
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
|
|||
---|---|---|---|
#18+
SiemarglНу и я вроде и не против.Вот и хорошо. SiemarglНо не у меня падает и ломается.Оно падало не там, я уже говорил. Уже не падает, кстати. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 00:43 |
|
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
|
|||
---|---|---|---|
#18+
hvladИ это зря.И это НЕ зря :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 00:44 |
|
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
|
|||
---|---|---|---|
#18+
hvlad...SiemarglНужен сильно развернутый ответ.Который не имеет ни малейшего отношения к приведенному фрагменту кода. Может пора снять шоры с глаз и подумать - а зачем оно там на самом деле ? И заодно рассказать - к каким ужасам оно приводит ? :) Я же сказал, что проверять надо было раньше 21964759 . К ужасам лишняя бесполезная проверка не приводит. Но шоры можно и снять, слушаю внимательно вашу версию. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 00:48 |
|
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
|
|||
---|---|---|---|
#18+
SiemarglЯ же сказал, что проверять надо было раньшеА ты каждый вызов каждого метода проверяешь указатель объекта на нулл ? Можешь верить, можешь не верить, но в реально подозрительных местах она есть. Но, в позу стать конечно проще ( 21964801 ) SiemarglК ужасам лишняя бесполезная проверка не приводит.Ну, хоть что-то :) Насчёт бесполезности - тут не тебе судить. SiemarglНо шоры можно и снять, слушаю внимательно вашу версию.Вот предыдущая версия данного кода, до того, как ф-ция EXE_find_request стала методом JrdStatement::findRequest Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
И появилась эта проверка ещё во времена FB1, а то и IB И выкидывать её просто потому, что линтер не велит - нафиг-нафиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 00:57 |
|
Почему Firebird всех версий падает и разрывает все соединения если повреждена строка?
|
|||
---|---|---|---|
#18+
hvlad, Ну я тоже грешен, и излишние проверки потом не удаляю.. Но код совсем не идентичен. В Си версии был входной контракт, что request != NULL, а в С++ этот контракт должен был вынесен на создание объекта JrdStatement ( в этом куске кода не видно, есть ли он) И более того, в С коде должен был быть аналогичный контракт на tdbb != NULL, а вот в С++ версии его не видно (возможно в макросе SET_TDBB, но вряд ли). Собственно, пора закруглять философскую тему. Думаю, мало кому интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 01:23 |
|
|
start [/forum/topic.php?fid=40&msg=39858218&tid=1560587]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
86ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 286ms |
total: | 450ms |
0 / 0 |