Hi mitk ppl,

There is a bug in mitk::RenderingManager on line 209,   
RequestUpdate(vtkRenderWindow *renderWindow)

 

Note that you are indexing std::map and std::vector structures, just like 
m_RenderWindowList or m_IsRendering.

Note also that when someone calls the access element on a std::map (the [] 
operator), the map will insert a new element if the key was not found, and then 
assign that key to the element.

The result of this issue makes a problem when somebody calls the [] operator 
with a key holding the NULL value or a not-initialized value. The map will 
create an element with that key and treat it as if it were a valid value.

 

The bug triggers when a programmer calls RequestUpdate (or any call that 
contains a [] operator for the RenderWindowList) with a NULL or non-initialized 
value. The bug may also be triggered if no one called 
ForceInmediateUpdate(vtkRenderWindow *renderWindow) before, because then the 
variable m_LastUpdatedRW is not-initialized, and therefore a later call to 
RenderingEndCallback (f.i. by dragging the mouse over a renderwindow) will 
insert an invalid pair into the RenderWindowList that will crash the 
application.

 

The quick & dirty fix is to call ForceInmediateUpdate(this->GetRenderWindow()) 
from the mitkRenderWindow constructor, but it would be better to commit a 
better fix, that checks for the valid state of the key values before indexing 
the map.

 

Best regards

 

 

 

Juan Antonio Moya
Scientific developer
Computational Imaging Lab, Pompeu Fabra University
Networking Research Center on Bioengineering, Biomaterials and Nanomedicine 
(CIBER-BBN)

Information & Communication Technologies Department - D. 313 
Pompeu Fabra University, Pg. Circumval·lació 8 
08003 Barcelona - Spain 
Phone +34 935 421350 

 

<<image001.gif>>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to