Library Name | mongoDB |
---|---|
Version #1 | 1.5.0 |
Version #2 | 1.5.1 |
CPU Architecture | x86 |
GCC Version | 4.5 |
Total Header Files | 1 |
---|---|
Total Shared Libraries | 1 |
Total Symbols / Types | 375 / 246 |
Verdict | Incompatible (29.60%) |
Severity | Count | |
---|---|---|
Added Symbols | - | 18 |
Removed Symbols | High | 12 |
Problems with Data Types | High | 7 |
Medium | 5 | |
Low | 6 | |
Problems with Symbols | High | 7 |
Medium | 1 | |
Low | 3 | |
Problems with Constants | Low | 0 |
Other Changes | - | 0 |
Change | Effect | |
---|---|---|
1 | Size of this class has been changed from 32 bytes to 40 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
Change | Effect | |
---|---|---|
1 | Size of this class has been changed from 84 bytes to 92 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
Change | Effect | |
---|---|---|
1 | Size of this class has been changed from 120 bytes to 124 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
Change | Effect | |
---|---|---|
1 | Size of this class has been increased from 204 bytes to 228 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
Change | Effect | |
---|---|---|
1 | Size of this class has been changed from 28 bytes to 32 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
Change | Effect | |
---|---|---|
1 | Pure virtual method AbstractMessagingPort::remotePort ( ) const has been added to this class. | 1) Applications will not provide the implementation for this pure virtual method and therefore cause a crash in the library trying to call this method. 2) The layout of v-table has been changed. Call of any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
Offset | Virtual Table (Old) - 7 entries | Virtual Table (New) - 8 entries |
---|---|---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | ~AbstractMessagingPort | ~AbstractMessagingPort |
12 | ~AbstractMessagingPort | ~AbstractMessagingPort |
16 | __cxa_pure_virtual | __cxa_pure_virtual |
20 | __cxa_pure_virtual | __cxa_pure_virtual |
24 | __cxa_pure_virtual | __cxa_pure_virtual |
28 | __cxa_pure_virtual |
Change | Effect | |
---|---|---|
1 | Size of this class has been increased from 148 bytes to 152 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
Change | Effect | |
---|---|---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK5mongo5Query9isComplexEv to _ZNK5mongo5Query9isComplexEPb. This may cause "undefined reference" linker error in old client applications. |
Change | Effect | |
---|---|---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK5mongo11BSONElement10jsonStringENS_16JsonStringFormatEb to _ZNK5mongo11BSONElement10jsonStringENS_16JsonStringFormatEbi. This may cause "undefined reference" linker error in old client applications. |
Change | Effect | |
---|---|---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK5mongo7BSONObj10jsonStringENS_16JsonStringFormatE to _ZNK5mongo7BSONObj10jsonStringENS_16JsonStringFormatEi. This may cause "undefined reference" linker error in old client applications. |
Change | Effect | |
---|---|---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo15LastErrorHolder12startRequestERNS_7MessageE to _ZN5mongo15LastErrorHolder12startRequestERNS_7MessageEi. This may cause "undefined reference" linker error in old client applications. |
Change | Effect | |
---|---|---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo13MessagingPortC2Ei to _ZN5mongo13MessagingPortC2Eii. This may cause "undefined reference" linker error in old client applications. |
Change | Effect | |
---|---|---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo13MessagingPortC1Ei to _ZN5mongo13MessagingPortC1Eii. This may cause "undefined reference" linker error in old client applications. |
Change | Effect | |
---|---|---|
1 | Method became const. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo13MessagingPort10remotePortEv to _ZNK5mongo13MessagingPort10remotePortEv. This may cause "undefined reference" linker error in old client applications. |
Change | Effect | |
---|---|---|
1 | The layout of v-table has been changed for unknown reason. | Call of any method in this class may result in crash or incorrect behavior of applications. |
Offset | Virtual Table (Old) - 34 entries | Virtual Table (New) - 34 entries |
---|---|---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | DBClientBase::query | DBClientBase::query |
12 | DBClientBase::getMore | DBClientBase::getMore |
16 | DBClientBase::insert | DBClientBase::insert |
20 | DBClientBase::insert | DBClientBase::insert |
24 | DBClientBase::remove | DBClientBase::remove |
28 | DBClientBase::update | DBClientBase::update |
32 | ~DBClientBase | ~DBClientBase |
36 | ~DBClientBase | ~DBClientBase |
40 | DBClientInterface::findOne | DBClientInterface::findOne |
44 | DBClientWithCommands::runCommand | DBClientWithCommands::runCommand |
48 | DBClientWithCommands::auth | DBClientWithCommands::auth |
52 | DBClientWithCommands::isMaster | DBClientWithCommands::isMaster |
56 | DBClientWithCommands::dropCollection | DBClientWithCommands::dropCollection |
60 | DBClientWithCommands::ensureIndex | DBClientWithCommands::ensureIndex |
64 | DBClientWithCommands::resetIndexCache | DBClientWithCommands::resetIndexCache |
68 | DBClientWithCommands::getIndexes | DBClientWithCommands::getIndexes |
72 | DBClientWithCommands::dropIndex | DBClientWithCommands::dropIndex |
76 | DBClientWithCommands::dropIndex | DBClientWithCommands::dropIndex |
80 | DBClientWithCommands::dropIndexes | DBClientWithCommands::dropIndexes |
84 | DBClientWithCommands::reIndex | DBClientWithCommands::reIndex |
88 | DBClientWithCommands::dropDatabase | DBClientWithCommands::dropDatabase |
92 | __cxa_pure_virtual | __cxa_pure_virtual |
96 | __cxa_pure_virtual | __cxa_pure_virtual |
100 | __cxa_pure_virtual | __cxa_pure_virtual |
104 | (int (*)(...))-0x00000001c | (int (*)(...))-0x000000020 |
108 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
112 | non-virtual thunk | non-virtual thunk |
116 | non-virtual thunk | non-virtual thunk |
120 | __cxa_pure_virtual | __cxa_pure_virtual |
124 | __cxa_pure_virtual | __cxa_pure_virtual |
128 | __cxa_pure_virtual | __cxa_pure_virtual |
132 | DBConnector::checkResponse | DBConnector::checkResponse |
Change | Effect | |
---|---|---|
1 | The layout of v-table has been changed for unknown reason. | Call of any method in this class may result in crash or incorrect behavior of applications. |
Offset | Virtual Table (Old) - 39 entries | Virtual Table (New) - 39 entries |
---|---|---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | DBClientConnection::query | DBClientConnection::query |
12 | DBClientBase::getMore | DBClientBase::getMore |
16 | DBClientBase::insert | DBClientBase::insert |
20 | DBClientBase::insert | DBClientBase::insert |
24 | DBClientBase::remove | DBClientBase::remove |
28 | DBClientBase::update | DBClientBase::update |
32 | ~DBClientConnection | ~DBClientConnection |
36 | ~DBClientConnection | ~DBClientConnection |
40 | DBClientInterface::findOne | DBClientInterface::findOne |
44 | DBClientWithCommands::runCommand | DBClientWithCommands::runCommand |
48 | DBClientConnection::auth | DBClientConnection::auth |
52 | DBClientWithCommands::isMaster | DBClientWithCommands::isMaster |
56 | DBClientWithCommands::dropCollection | DBClientWithCommands::dropCollection |
60 | DBClientWithCommands::ensureIndex | DBClientWithCommands::ensureIndex |
64 | DBClientWithCommands::resetIndexCache | DBClientWithCommands::resetIndexCache |
68 | DBClientWithCommands::getIndexes | DBClientWithCommands::getIndexes |
72 | DBClientWithCommands::dropIndex | DBClientWithCommands::dropIndex |
76 | DBClientWithCommands::dropIndex | DBClientWithCommands::dropIndex |
80 | DBClientWithCommands::dropIndexes | DBClientWithCommands::dropIndexes |
84 | DBClientWithCommands::reIndex | DBClientWithCommands::reIndex |
88 | DBClientWithCommands::dropDatabase | DBClientWithCommands::dropDatabase |
92 | DBClientConnection::toString | DBClientConnection::toString |
96 | DBClientConnection::getServerAddress | DBClientConnection::getServerAddress |
100 | DBClientConnection::isFailed | DBClientConnection::isFailed |
104 | DBClientConnection::connect | DBClientConnection::connect |
108 | DBClientConnection::call | DBClientConnection::call |
112 | DBClientConnection::say | DBClientConnection::say |
116 | DBClientConnection::sayPiggyBack | DBClientConnection::sayPiggyBack |
120 | DBClientConnection::checkResponse | DBClientConnection::checkResponse |
124 | (int (*)(...))-0x00000001c | (int (*)(...))-0x000000020 |
128 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
132 | non-virtual thunk | non-virtual thunk |
136 | non-virtual thunk | non-virtual thunk |
140 | non-virtual thunk | non-virtual thunk |
144 | non-virtual thunk | non-virtual thunk |
148 | non-virtual thunk | non-virtual thunk |
152 | DBConnector::checkResponse | DBConnector::checkResponse |
Change | Effect | |
---|---|---|
1 | The layout of v-table has been changed for unknown reason. | Call of any method in this class may result in crash or incorrect behavior of applications. |
Offset | Virtual Table (Old) - 38 entries | Virtual Table (New) - 38 entries |
---|---|---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | DBClientPaired::query | DBClientPaired::query |
12 | DBClientBase::getMore | DBClientBase::getMore |
16 | DBClientPaired::insert | DBClientPaired::insert |
20 | DBClientPaired::insert | DBClientPaired::insert |
24 | DBClientPaired::remove | DBClientPaired::remove |
28 | DBClientPaired::update | DBClientPaired::update |
32 | ~DBClientPaired | ~DBClientPaired |
36 | ~DBClientPaired | ~DBClientPaired |
40 | DBClientPaired::findOne | DBClientPaired::findOne |
44 | DBClientWithCommands::runCommand | DBClientWithCommands::runCommand |
48 | DBClientWithCommands::auth | DBClientWithCommands::auth |
52 | DBClientWithCommands::isMaster | DBClientWithCommands::isMaster |
56 | DBClientWithCommands::dropCollection | DBClientWithCommands::dropCollection |
60 | DBClientWithCommands::ensureIndex | DBClientWithCommands::ensureIndex |
64 | DBClientWithCommands::resetIndexCache | DBClientWithCommands::resetIndexCache |
68 | DBClientWithCommands::getIndexes | DBClientWithCommands::getIndexes |
72 | DBClientWithCommands::dropIndex | DBClientWithCommands::dropIndex |
76 | DBClientWithCommands::dropIndex | DBClientWithCommands::dropIndex |
80 | DBClientWithCommands::dropIndexes | DBClientWithCommands::dropIndexes |
84 | DBClientWithCommands::reIndex | DBClientWithCommands::reIndex |
88 | DBClientWithCommands::dropDatabase | DBClientWithCommands::dropDatabase |
92 | DBClientPaired::toString | DBClientPaired::toString |
96 | DBClientPaired::getServerAddress | DBClientPaired::getServerAddress |
100 | DBClientPaired::isFailed | DBClientPaired::isFailed |
104 | DBClientPaired::call | DBClientPaired::call |
108 | DBClientPaired::say | DBClientPaired::say |
112 | DBClientPaired::sayPiggyBack | DBClientPaired::sayPiggyBack |
116 | DBClientPaired::checkResponse | DBClientPaired::checkResponse |
120 | (int (*)(...))-0x00000001c | (int (*)(...))-0x000000020 |
124 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
128 | non-virtual thunk | non-virtual thunk |
132 | non-virtual thunk | non-virtual thunk |
136 | non-virtual thunk | non-virtual thunk |
140 | non-virtual thunk | non-virtual thunk |
144 | non-virtual thunk | non-virtual thunk |
148 | DBConnector::checkResponse | DBConnector::checkResponse |
Change | Effect | |
---|---|---|
1 | Pure virtual method AbstractMessagingPort::remote ( ) const has been added to this class instead of AbstractMessagingPort::remotePort ( ). | Applications will provide an older method to the library instead of expected newely added virtual method. This may result in crash or incorrect behavior of applications. |
Offset | Virtual Table (Old) - 7 entries | Virtual Table (New) - 8 entries |
---|---|---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | ~AbstractMessagingPort | ~AbstractMessagingPort |
12 | ~AbstractMessagingPort | ~AbstractMessagingPort |
16 | __cxa_pure_virtual | __cxa_pure_virtual |
20 | __cxa_pure_virtual | __cxa_pure_virtual |
24 | __cxa_pure_virtual | __cxa_pure_virtual |
28 | __cxa_pure_virtual |
Change | Effect | |
---|---|---|
1 | The layout of v-table has been changed for unknown reason. | Call of any method in this class may result in crash or incorrect behavior of applications. |
Offset | Virtual Table (Old) - 7 entries | Virtual Table (New) - 8 entries |
---|---|---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | ~MessagingPort | ~MessagingPort |
12 | ~MessagingPort | ~MessagingPort |
16 | MessagingPort::reply | MessagingPort::reply |
20 | MessagingPort::reply | MessagingPort::reply |
24 | MessagingPort::remotePort | MessagingPort::remote |
28 | MessagingPort::remotePort |
Change | Effect | |
---|---|---|
1 | The pointer level of return value has been decreased from 1 to 0. | Applications may try to access unallocated memory by the dereferencing of new return value and therefore cause a crash. |
Change | Effect | |
---|---|---|
1 | Field _writeConcern has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
Change | Effect | |
---|---|---|
1 | Field _scopedHost has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
Change | Effect | |
---|---|---|
1 | Size of field left has been changed from 84 bytes to 92 bytes. | Size of the inclusive type has changed. |
2 | Size of field right has been changed from 84 bytes to 92 bytes. | Size of the inclusive type has changed. |
Change | Effect | |
---|---|---|
1 | Field _logLevel has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
Change | Effect | |
---|---|---|
1 | Field _logLevel has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
Change | Effect | |
---|---|---|
1 | 2nd parameter idxKey has been renamed to ordering. | Renaming of a parameter may indicate a change in its semantic meaning. |
Change | Effect | |
---|---|---|
1 | Type of this global data has been changed from IDLabeler to GENOIDLabeler. | Replacement of data type may indicate a change in semantic meaning. |
Change | Effect | |
---|---|---|
1 | Type of return value has been changed from char const* to std::string. | Replacement of return type may indicate a change in its semantic meaning. |