Opened 19 years ago

Last modified 17 years ago

#2725 closed defect

dynamic_cast can return NULL, must test — at Initial Version

Reported by: Nigel Owned by: Nigel
Priority: minor Milestone: unknown
Component: mythtv Version: 0.20
Severity: medium Keywords:
Cc: Ticket locked: yes

Description

There are a few places in the code where the result of dynamic_cast isn't tested before it is used. Sadly, in some cases, it can return NULL, which causes a bus error or SEGV.
One particuar problem is in the keypress event processing. Causes a crash on OS X binaries built on 10.4 (gcc4), but running on 10.3. It is an old problem, usually caused by incorrectly compiling with -no-rtti: http://www.gossamer-threads.com/lists/mythtv/dev/72988#72988
Some documents (e.g. http://www.cplusplus.com/doc/tutorial/typecasting.html) say that dynamic_cast ing a base class to a subclass is illegal. QKeyEvent is a base class of QEvent, so if I believe this, it is the problem here.

Change History (0)

Note: See TracTickets for help on using tickets.