[mythtv-commits] Ticket #6715: SIGABRT in RemoteEnocder::GetFrameRate()
MythTV
mythtv at cvs.mythtv.org
Sun Jul 12 09:44:17 UTC 2009
#6715: SIGABRT in RemoteEnocder::GetFrameRate()
------------------------------------+---------------------------------------
Reporter: mythtv at scientician.org | Owner: ijr
Type: defect | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - General | Version: head
Severity: medium | Mlocked: 0
------------------------------------+---------------------------------------
changeset:18098 introduced a possible error path assertion failure in
`RemoteEncoder::GetFrameRate()` at
[source:trunk/mythtv/libs/libmythtv/remoteencoder.cpp at 20523#L167
remoteencoder.cpp:167]. Here is how the assertion is triggered:
1. `RemoteEnocder::GetFrameRate()` creates `strlist`
1. `RemoteEnocder::GetFrameRate()` passes `strlist` to
`RemoteEnocder::SendReceiveStringList()`
1. `RemoteEnocder::SendReceiveStringList()` passes `strlist` to
`MythSocket::readStringList()`
1. `MythSocket::readStringList()` calls `strlist.clear()`
1. `MythSocket::readStringList()` fails in some way (e.g., times out) and
returns `false`
1. `RemoteEnocder::SendReceiveStringList()` returns `false`
1. The variable `ok` in `RemoteEnocder::GetFrameRate()` remains `false`,
so line 167 is executed
1. Line 167 tries to access element 0 of `strlist`, but `strlist` is
empty
1. Qt aborts because 0 is out of the range of valid indexes into
`strlist`
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/6715>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list