Use snprintf instead of strncpy
http://reviews.llvm.org/D7553
Files:
source/API/SBFileSpec.cpp
source/Host/common/FileSpec.cpp
source/Host/common/SocketAddress.cpp
source/Host/macosx/HostInfoMacOSX.mm
source/Host/posix/HostInfoPosix.cpp
source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
source/lldb.cpp
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
Index: source/API/SBFileSpec.cpp
===================================================================
--- source/API/SBFileSpec.cpp
+++ source/API/SBFileSpec.cpp
@@ -94,7 +94,7 @@
llvm::SmallString<64> result(src_path);
lldb_private::FileSpec::Resolve (result);
size_t result_length = std::min(dst_len-1, result.size());
- ::strncpy(dst_path, result.c_str(), result_length + 1);
+ ::snprintf(dst_path, result_length + 1, "%s", result.c_str());
return result_length;
}
Index: source/Host/common/FileSpec.cpp
===================================================================
--- source/Host/common/FileSpec.cpp
+++ source/Host/common/FileSpec.cpp
@@ -795,7 +795,7 @@
std::string result = GetPath(denormalize);
size_t result_length = std::min(path_max_len-1, result.length());
- ::strncpy(path, result.c_str(), result_length + 1);
+ ::snprintf(path, result_length + 1, "%s", result.c_str());
return result_length;
}
Index: source/Host/common/SocketAddress.cpp
===================================================================
--- source/Host/common/SocketAddress.cpp
+++ source/Host/common/SocketAddress.cpp
@@ -48,8 +48,7 @@
const char* formatted = inet_ntoa(*static_cast<const in_addr*>(src));
if (formatted && strlen(formatted) < size)
{
- strncpy(dst, formatted, size);
- return dst;
+ return ::strcpy(dst, formatted);
}
}
return nullptr;
@@ -64,8 +63,7 @@
);
if (full_size < static_cast<int>(size))
{
- strncpy(dst,tmp,size);
- return dst;
+ return ::strcpy(dst, tmp);
}
return nullptr;
}
Index: source/Host/macosx/HostInfoMacOSX.mm
===================================================================
--- source/Host/macosx/HostInfoMacOSX.mm
+++ source/Host/macosx/HostInfoMacOSX.mm
@@ -146,7 +146,7 @@
*framework_pos = '\0';
#else
// Normal bundle
- ::strncpy(framework_pos, "/Resources", PATH_MAX - (framework_pos - raw_path));
+ ::snprintf(framework_pos, PATH_MAX - (framework_pos - raw_path), "/Resources");
#endif
}
file_spec.GetDirectory().SetCString(raw_path);
@@ -167,7 +167,7 @@
if (framework_pos)
{
framework_pos += strlen("LLDB.framework");
- ::strncpy(framework_pos, "/Headers", PATH_MAX - (framework_pos - raw_path));
+ ::snprintf(framework_pos, PATH_MAX - (framework_pos - raw_path), "/Headers");
}
file_spec.GetDirectory().SetCString(raw_path);
return true;
@@ -188,7 +188,7 @@
if (framework_pos)
{
framework_pos += strlen("LLDB.framework");
- ::strncpy(framework_pos, "/Resources/Python", PATH_MAX - (framework_pos - raw_path));
+ ::snprintf(framework_pos, PATH_MAX - (framework_pos - raw_path), "/Resources/Python");
}
else
{
@@ -221,7 +221,7 @@
if (framework_pos)
{
framework_pos += strlen("LLDB.framework");
- ::strncpy (framework_pos, "/Resources/Clang", PATH_MAX - (framework_pos - raw_path));
+ ::snprintf(framework_pos, PATH_MAX - (framework_pos - raw_path), "/Resources/Clang");
}
file_spec.SetFile (raw_path, true);
return true;
@@ -241,7 +241,7 @@
return false;
framework_pos += strlen("LLDB.framework");
- ::strncpy(framework_pos, "/Resources/PlugIns", PATH_MAX - (framework_pos - raw_path));
+ ::snprintf(framework_pos, PATH_MAX - (framework_pos - raw_path), "/Resources/PlugIns");
file_spec.GetDirectory().SetCString(raw_path);
return true;
}
Index: source/Host/posix/HostInfoPosix.cpp
===================================================================
--- source/Host/posix/HostInfoPosix.cpp
+++ source/Host/posix/HostInfoPosix.cpp
@@ -153,11 +153,8 @@
char *lib_pos = ::strstr(raw_path, "/lib");
if (lib_pos != nullptr)
{
- // First terminate the raw path at the start of lib.
- *lib_pos = '\0';
-
// Now write in bin in place of lib.
- ::strncpy(lib_pos, "/bin", PATH_MAX - (lib_pos - raw_path));
+ ::snprintf(lib_pos, PATH_MAX - (lib_pos - raw_path), "/bin");
if (log)
log->Printf("Host::%s() derived the bin path as: %s", __FUNCTION__, raw_path);
Index: source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
===================================================================
--- source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+++ source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
@@ -3639,7 +3639,7 @@
if (thread_suffix_supported)
::snprintf (packet, sizeof(packet), "QSaveRegisterState;thread:%4.4" PRIx64 ";", tid);
else
- ::strncpy (packet, "QSaveRegisterState", sizeof(packet));
+ ::snprintf(packet, sizeof(packet), "QSaveRegisterState");
StringExtractorGDBRemote response;
Index: source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
===================================================================
--- source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
+++ source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
@@ -231,7 +231,7 @@
const char *node_content = (const char *)::xmlNodeGetContent(value_node);
if (node_content)
{
- strncpy(DBGBuildSourcePath, node_content, sizeof(DBGBuildSourcePath));
+ ::snprintf(DBGBuildSourcePath, sizeof(DBGBuildSourcePath), "%s", node_content);
xmlFree((void *) node_content);
}
}
Index: source/lldb.cpp
===================================================================
--- source/lldb.cpp
+++ source/lldb.cpp
@@ -364,13 +364,13 @@
const char *newline_loc = strchr(version_string, '\n');
- size_t version_len = sizeof(g_version_string);
+ size_t version_len = sizeof(g_version_string) - 1;
if (newline_loc &&
(newline_loc - version_string < static_cast<ptrdiff_t>(version_len)))
version_len = newline_loc - version_string;
- ::strncpy(g_version_string, version_string, version_len);
+ ::snprintf(g_version_string, version_len + 1, "%s", version_string);
}
return g_version_string;
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits