[SERVER-9736] FilteringClientCursor ctor bug Created: 21/May/13 Updated: 14/Apr/16 Resolved: 02/Mar/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Client |
| Affects Version/s: | 2.4.3 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Vladimir Phillips | Assignee: | Tyler Brock |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Operating System: | ALL |
| Participants: |
| Description |
|
FilteringClientCursor::FilteringClientCursor( auto_ptr<DBClientCursor> cursor , const BSONObj filter ) The order of calling copy constructor for _cursor and evaluation of the expression ( cursor.get() == 0 ) above is not guaranteed. The problem is that copy constructor for auto_ptr resets the original. |
| Comments |
| Comment by Tyler Brock [ 02/Mar/15 ] |
|
This has apparently gone away in 3.x, I don't see it in the code anywhere. It used to be defined and used used in part of parallel.h and parallel.cpp but is no longer there. |