Project

General

Profile

Actions

Bug #765

closed

vdrmanager-plugin failed if none channel into recording defined

Added by anbr about 13 years ago. Updated about 13 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Start date:
10/29/2011
Due date:
% Done:

0%

Estimated time:

Description

Hello,

the VDR-part (vdrmanager-plugin) failed, if none channel into recording defined.

#0  __strlen_sse2_bsf () at ../sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S:52
#1  0xb75df702 in std::string::operator+=(char const*) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#2  0xb53e2f1b in cHelpers::ToText (recording=0x9ce5ef8) at helpers.cpp:366
#3  0xb53e175d in cHelpers::GetRecordingsIntern () at helpers.cpp:92
#4  0xb53e43cd in cHelpers::Trim (text=...) at helpers.cpp:596
#5  0xb53e0ddb in cHelpers::GetRecordings (args=...) at helpers.cpp:19
#6  0xb53e08d6 in cHandler::HandleClientRequest (this=0x9bc9110, sock=0x9cd6948) at handler.cpp:84
#7  0xb53e00d0 in cSelect::Poll (this=0x9ee1cc8) at select.cpp:172
#8  0xb53dfe97 in cSelect::Action (this=0x9ee1cc8) at select.cpp:118
#9  0xb53dfa10 in cAndroVdrThread::Action (this=0xb3ca0360) at vdrmanagerthread.cpp:30
#10 0x0814e973 in cThread::StartThread (Thread=0xb3ca0360) at thread.c:257
#11 0xb7719c39 in start_thread (arg=0xae8f5b70) at pthread_create.c:304
#12 0xb747496e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

In my sample is info->channelName defined with 0x0.

(gdb) print *info
$1 = {channelID = {source = 1409286144, nid = 8468, tid = 514, sid = 514, rid = 0, static InvalidID = {source = 0, nid = 0, tid = 0, sid = 0, rid = 0, 
      static InvalidID = <same as static member of an already seen type>}}, channelName = 0x0, event = 0x9ce6f00, ownEvent = 0x9ce6f00, 
  aux = 0x9cbdd80 "#~AT[204]", framesPerSecond = 25, priority = 99, lifetime = 99, 

Me help at moment help follow small patch:

--- a/vdr-vdrmanager/helpers.cpp
+++ b/vdr-vdrmanager/helpers.cpp
@@ -363,7 +363,10 @@ string cHelpers::ToText(cRecording * recording){
   result += buf;
   result += ":";

-  result += info -> ChannelName();
+  if(info->ChannelName())
+      result += info -> ChannelName();
+  else
+      result += "-";
   result += ":";

   result += MapSpecialChars(event->Title());

Andreas


Files

logging.diff (962 Bytes) logging.diff herrlado, 11/11/2011 10:52 PM
recordings.diff (2.83 KB) recordings.diff anbr, 11/12/2011 02:58 PM
Actions

Also available in: Atom PDF