Applied patch [ 1405547 ] wxDbConnectInf + unicode = massive buffer overflows

Ove Kaaven


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2006-01-17 16:51:40 +00:00
parent 4a52844365
commit fc6f2a33b6

View File

@ -201,37 +201,37 @@ void wxDbConnectInf::FreeHenv()
void wxDbConnectInf::SetDsn(const wxString &dsn)
{
wxASSERT(dsn.Length() < sizeof(Dsn));
wxASSERT(dsn.Length() < WXSIZEOF(Dsn));
wxStrncpy(Dsn, dsn, sizeof(Dsn)-1);
Dsn[sizeof(Dsn)-1] = 0; // Prevent buffer overrun
wxStrncpy(Dsn, dsn, WXSIZEOF(Dsn)-1);
Dsn[WXSIZEOF(Dsn)-1] = 0; // Prevent buffer overrun
} // wxDbConnectInf::SetDsn()
void wxDbConnectInf::SetUserID(const wxString &uid)
{
wxASSERT(uid.Length() < sizeof(Uid));
wxStrncpy(Uid, uid, sizeof(Uid)-1);
Uid[sizeof(Uid)-1] = 0; // Prevent buffer overrun
wxASSERT(uid.Length() < WXSIZEOF(Uid));
wxStrncpy(Uid, uid, WXSIZEOF(Uid)-1);
Uid[WXSIZEOF(Uid)-1] = 0; // Prevent buffer overrun
} // wxDbConnectInf::SetUserID()
void wxDbConnectInf::SetPassword(const wxString &password)
{
wxASSERT(password.Length() < sizeof(AuthStr));
wxASSERT(password.Length() < WXSIZEOF(AuthStr));
wxStrncpy(AuthStr, password, sizeof(AuthStr)-1);
AuthStr[sizeof(AuthStr)-1] = 0; // Prevent buffer overrun
wxStrncpy(AuthStr, password, WXSIZEOF(AuthStr)-1);
AuthStr[WXSIZEOF(AuthStr)-1] = 0; // Prevent buffer overrun
} // wxDbConnectInf::SetPassword()
void wxDbConnectInf::SetConnectionStr(const wxString &connectStr)
{
wxASSERT(connectStr.Length() < sizeof(ConnectionStr));
wxASSERT(connectStr.Length() < WXSIZEOF(ConnectionStr));
useConnectionStr = wxStrlen(connectStr) > 0;
wxStrncpy(ConnectionStr, connectStr, sizeof(ConnectionStr)-1);
ConnectionStr[sizeof(ConnectionStr)-1] = 0; // Prevent buffer overrun
wxStrncpy(ConnectionStr, connectStr, WXSIZEOF(ConnectionStr)-1);
ConnectionStr[WXSIZEOF(ConnectionStr)-1] = 0; // Prevent buffer overrun
} // wxDbConnectInf::SetConnectionStr()