fixed invalid memory access in Node::loadFromDatabase
authorVictor Kirhenshtein <victor@netxms.org>
Wed, 3 Aug 2016 10:24:30 +0000 (13:24 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Wed, 3 Aug 2016 10:24:30 +0000 (13:24 +0300)
src/db/libnxdb/session.cpp
src/server/core/node.cpp

index a97724a..40d8762 100644 (file)
@@ -1146,7 +1146,7 @@ void LIBNXDB_EXPORTABLE DBFreeStatement(DB_STATEMENT hStmt)
       hStmt->m_connection->m_preparedStatements->remove(hStmt);
    }
    hStmt->m_driver->m_fpDrvFreeStatement(hStmt->m_statement);
-   safe_free(hStmt->m_query);
+   free(hStmt->m_query);
        free(hStmt);
 }
 
index 71d1af3..e2f98d7 100644 (file)
@@ -377,8 +377,8 @@ bool Node::loadFromDatabase(DB_HANDLE hdb, UINT32 dwId)
    m_snmpTrapCount = DBGetFieldInt64(hResult, 0, 39);
    m_type = (NodeType)DBGetFieldLong(hResult, 0, 40);
    DBGetField(hResult, 0, 41, m_subType, MAX_NODE_SUBTYPE_LENGTH);
-   DBGetField(hResult, 0, 42, m_sshLogin, MAX_OBJECT_NAME);
-   DBGetField(hResult, 0, 43, m_sshPassword, MAX_PASSWORD);
+   DBGetField(hResult, 0, 42, m_sshLogin, MAX_SSH_LOGIN_LEN);
+   DBGetField(hResult, 0, 43, m_sshPassword, MAX_SSH_PASSWORD_LEN);
    m_sshProxy = DBGetFieldULong(hResult, 0, 44);
 
    DBFreeResult(hResult);