diff --git a/src/common/IntlParametersBlock.h b/src/common/IntlParametersBlock.h index bc080496dc2..59964ed5dd0 100644 --- a/src/common/IntlParametersBlock.h +++ b/src/common/IntlParametersBlock.h @@ -44,6 +44,8 @@ class IntlParametersBlock virtual TagType checkTag(UCHAR tag, const char** tagName) = 0; virtual UCHAR getUtf8Tag() = 0; + virtual ~IntlParametersBlock() = default; + void toUtf8(ClumpletWriter& pb); void fromUtf8(ClumpletWriter& pb); @@ -74,7 +76,6 @@ class IntlSpbStart : public IntlParametersBlock TagType checkTag(UCHAR tag, const char** tagName); UCHAR getUtf8Tag(); - private: UCHAR mode; }; diff --git a/src/common/ThreadStart.cpp b/src/common/ThreadStart.cpp index 8496ff22595..0760ad19acc 100644 --- a/src/common/ThreadStart.cpp +++ b/src/common/ThreadStart.cpp @@ -181,7 +181,7 @@ Thread Thread::start(ThreadEntryPoint* routine, void* arg, int priority_arg, Han { #ifdef HAVE_PTHREAD_CANCEL int dummy; // We do not want to know old cancel type - state = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &dummy); + state = pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &dummy); if (state) Firebird::system_call_failed::raise("pthread_setcanceltype", state); #endif diff --git a/src/common/classes/BatchCompletionState.h b/src/common/classes/BatchCompletionState.h index c8de5d5c0e4..391867c4da4 100644 --- a/src/common/classes/BatchCompletionState.h +++ b/src/common/classes/BatchCompletionState.h @@ -34,6 +34,7 @@ namespace Firebird { { public: virtual void transliterate(IStatus* status) = 0; + virtual ~Transliterate() = default; }; class BatchCompletionState final : diff --git a/src/common/classes/Hash.h b/src/common/classes/Hash.h index fe7b3cc9d36..dda4a998362 100644 --- a/src/common/classes/Hash.h +++ b/src/common/classes/Hash.h @@ -103,6 +103,7 @@ namespace Firebird void link(Entry** where) { + fb_assert(where != nullptr); unLink(); // set our pointers diff --git a/src/yvalve/gds.cpp b/src/yvalve/gds.cpp index fdfe5099fb5..99108e64998 100644 --- a/src/yvalve/gds.cpp +++ b/src/yvalve/gds.cpp @@ -2657,7 +2657,7 @@ void API_ROUTINE gds__unregister_cleanup(FPTR_VOID_PTR routine, void *arg) Firebird::MutexLockGuard guard(cleanup_handlers_mutex, "gds__unregister_cleanup"); clean_t* clean; - for (clean_t** clean_ptr = &cleanup_handlers; clean = *clean_ptr; clean_ptr = &clean->clean_next) + for (clean_t** clean_ptr = &cleanup_handlers; (clean = *clean_ptr); clean_ptr = &clean->clean_next) { if (clean->clean_routine == routine && clean->clean_arg == arg) {