diff options
Diffstat (limited to 'external/firebird')
-rw-r--r-- | external/firebird/ubsan.patch | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/external/firebird/ubsan.patch b/external/firebird/ubsan.patch index 8ccc1703ec9b..2b659681be24 100644 --- a/external/firebird/ubsan.patch +++ b/external/firebird/ubsan.patch @@ -74,6 +74,18 @@ memcpy(newdata, data, sizeof(T) * count); freeData(); data = newdata; +--- src/common/classes/fb_string.h ++++ src/common/classes/fb_string.h +@@ -674,7 +674,8 @@ + } + StringType& assign(const void* s, size_type n) + { +- memcpy(baseAssign(n), s, n); ++ auto const p = baseAssign(n); ++ if (n != 0) memcpy(p, s, n); + return *this; + } + StringType& assign(const_pointer s) --- src/dsql/StmtNodes.cpp +++ src/dsql/StmtNodes.cpp @@ -6643,7 +6643,7 @@ |