This part of the code before the patch's change:
var dbview = GetDBView();
if(dbview && !dbview.supportsThreading)
return;
dbview.viewFlags |= nsMsgViewFlagsType.kThreadedDisplay;
has a potential for failure: if dbview is null, the 'return' will be skipped and then the null pointer will be dereferenced. The if-clause should change to:
if (!dbview || !dbview.supportsThreading)
Also, I notice the subsequent routine in the file, MsgSortThreadPane(), also references GetDBView() but doesn't check for null at all. If the test is unneeded, it should be removed; otherwise, it should be everywhere.
None of which is germane to this bug, which I just checked and can verify. :)
This part of the code before the patch's change: supportsThreadi ng) ype.kThreadedDi splay;
var dbview = GetDBView();
if(dbview && !dbview.
return;
dbview.viewFlags |= nsMsgViewFlagsT
has a potential for failure: if dbview is null, the 'return' will be skipped and then the null pointer will be dereferenced. The if-clause should change to: supportsThreadi ng)
if (!dbview || !dbview.
Also, I notice the subsequent routine in the file, MsgSortThreadPa ne(), also references GetDBView() but doesn't check for null at all. If the test is unneeded, it should be removed; otherwise, it should be everywhere.
None of which is germane to this bug, which I just checked and can verify. :)