mirror of https://gitee.com/bigwinds/arangodb
fixed buffer overflow
This commit is contained in:
parent
b610ba3894
commit
212a1e7813
|
@ -251,7 +251,7 @@ static void copyString32to8(char* dst, size_t dstLen, const char32_t* src) {
|
|||
}
|
||||
|
||||
static void copyString32(char32_t* dst, const char32_t* src, size_t len) {
|
||||
while (*src && 1 < len) {
|
||||
while (0 < len && *src) {
|
||||
*dst++ = *src++;
|
||||
--len;
|
||||
}
|
||||
|
@ -1963,7 +1963,7 @@ int InputBuffer::completeLine(PromptBase& pi) {
|
|||
int tailIndex = startIndex + longestCommonPrefix;
|
||||
memcpy(&displayText[tailIndex], &buf32[pos],
|
||||
sizeof(char32_t) * (displayLength - tailIndex + 1));
|
||||
copyString32(buf32, displayText.get(), buflen + 1);
|
||||
copyString32(buf32, displayText.get(), displayLength);
|
||||
pos = startIndex + longestCommonPrefix;
|
||||
len = displayLength;
|
||||
refreshLine(pi);
|
||||
|
@ -2303,7 +2303,7 @@ int InputBuffer::incrementalHistorySearch(PromptBase& pi, int startChar) {
|
|||
--dp.searchTextLen;
|
||||
dp.searchText[dp.searchTextLen] = 0;
|
||||
copyString32(tempUnicode.get(), dp.searchText.get(),
|
||||
dp.searchTextLen + 1);
|
||||
dp.searchTextLen);
|
||||
dp.updateSearchText(tempUnicode.get());
|
||||
} else {
|
||||
beep();
|
||||
|
@ -2318,7 +2318,7 @@ int InputBuffer::incrementalHistorySearch(PromptBase& pi, int startChar) {
|
|||
unique_ptr<char32_t[]> tempUnicode(
|
||||
new char32_t[dp.searchTextLen + 2]);
|
||||
copyString32(tempUnicode.get(), dp.searchText.get(),
|
||||
dp.searchTextLen + 2);
|
||||
dp.searchTextLen);
|
||||
tempUnicode[dp.searchTextLen] = c;
|
||||
tempUnicode[dp.searchTextLen + 1] = 0;
|
||||
dp.updateSearchText(tempUnicode.get());
|
||||
|
@ -2395,7 +2395,7 @@ int InputBuffer::incrementalHistorySearch(PromptBase& pi, int startChar) {
|
|||
Utf32String tempUnicode(pb.promptBytes + 1);
|
||||
|
||||
copyString32(tempUnicode.get(), &pi.promptText[pi.promptLastLinePosition],
|
||||
pb.promptBytes + 1);
|
||||
pb.promptBytes - pi.promptLastLinePosition);
|
||||
tempUnicode.initFromBuffer();
|
||||
pb.promptText = tempUnicode;
|
||||
pb.promptExtraLines = 0;
|
||||
|
|
|
@ -175,11 +175,11 @@ if (WINDOWS)
|
|||
set(BASE_C_FLAGS "" CACHE STRING "base C flags")
|
||||
set(BASE_CXX_FLAGS "/GR /EHsc" CACHE STRING "base C++flags")
|
||||
else ()
|
||||
set(BASE_FLAGS "" CACHE STRING "base flags")
|
||||
set(BASE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "base C flags")
|
||||
set(BASE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "base C++ flags")
|
||||
set(BASE_LD_FLAGS "$ENV{LDFLAGS}" CACHE STRING "base linker flags")
|
||||
set(BASE_LIBS "$ENV{LIBS}" CACHE STRING "base libraries")
|
||||
set(BASE_FLAGS "" CACHE STRING "base flags")
|
||||
set(BASE_C_FLAGS "${CMAKE_C_FLAGS} $ENV{CFLAGS}" CACHE STRING "base C flags")
|
||||
set(BASE_CXX_FLAGS "${CMAKE_CXX_FLAGS} $ENV{CXXFLAGS}" CACHE STRING "base C++ flags")
|
||||
set(BASE_LD_FLAGS "$ENV{LDFLAGS}" CACHE STRING "base linker flags")
|
||||
set(BASE_LIBS "$ENV{LIBS}" CACHE STRING "base libraries")
|
||||
endif ()
|
||||
|
||||
if (SOLARIS)
|
||||
|
@ -447,13 +447,13 @@ if (VERBOSE)
|
|||
message(STATUS)
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_FLAGS "${BASE_FLAGS} ${BASE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS "${BASE_FLAGS} ${BASE_C_FLAGS} ${CMAKE_C_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${BASE_FLAGS} ${BASE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${BASE_FLAGS} ${BASE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${BASE_FLAGS} ${BASE_C_FLAGS} ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
set(CMAKE_C_FLAGS_MINSIZEREL "${BASE_FLAGS} ${BASE_C_FLAGS} ${CMAKE_C_FLAGS_MINSIZEREL}")
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${BASE_FLAGS} ${BASE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${BASE_FLAGS} ${BASE_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${BASE_FLAGS} ${BASE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${BASE_FLAGS} ${BASE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${BASE_FLAGS} ${BASE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
|
|
|
@ -52,8 +52,7 @@ help:
|
|||
@echo " -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl"
|
||||
@echo " sets the location of the openssl includes and libraries"
|
||||
@echo ""
|
||||
@echo "BOOST supports:"
|
||||
@echo ""
|
||||
@echo "TCMALLOC supports:"
|
||||
@echo " -DUSE_TCMALLOC=on"
|
||||
@echo " if ON, link against TCMALLOC"
|
||||
@echo ""
|
||||
|
|
Loading…
Reference in New Issue