[CDRIVER-147] When calling API mongo_get_primary if mongo->primary has not been initalized results on memory overun Created: 02/Jun/12 Updated: 19/Oct/16 Resolved: 03/Jun/12 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | None |
| Affects Version/s: | TBD |
| Fix Version/s: | 0.6 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Jose Sebastian Battig | Assignee: | Kyle Banker |
| Resolution: | Done | Votes: | 0 |
| Labels: | driver | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Visual C++ |
||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Major Change | ||||||||
| Description |
|
primary pointer is allocated here: MONGO_EXPORT void mongo_replset_init( mongo *conn, const char *name ) { conn->replset = bson_malloc( sizeof( mongo_replset ) ); conn->primary = bson_malloc( sizeof( mongo_host_port ) ); As you can see, the structure is not initialized in any shape or form. I solved the problem adding the following code after the malloc of primary: /* JSB */ And changing the following function to be aware of NULL value on the first char of host array. MONGO_EXPORT const char* mongo_get_primary(mongo* conn) { |
| Comments |
| Comment by auto [ 28/Jul/12 ] |
|
Author: {u'date': u'2012-07-27T21:20:24-07:00', u'email': u'gary.murakami@10gen.com', u'name': u'Gary Murakami'}Message: |
| Comment by Jose Sebastian Battig [ 24/Jun/12 ] |
|
Asya comments are correct. Actually the version on GIT right now is wrong. |
| Comment by auto [ 03/Jun/12 ] |
|
Author: {u'login': u'banker', u'name': u'Kyle Banker', u'email': u'kylebanker@gmail.com'}Message: |
| Comment by Jose Sebastian Battig [ 02/Jun/12 ] |
|
I set priority Major to this report because of the fact when this bug becomes evident the application which loaded the driver becomes unusable because of the mem overrun |