From b7aed836a7decbf5b7edd9e9d9bb805903055eff Mon Sep 17 00:00:00 2001 From: leslie Date: Tue, 18 Aug 2009 17:51:43 +0800 Subject: [PATCH] fix adding empty CA descriptors --- cam.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cam.c b/cam.c index f1daf38..910eb43 100644 --- a/cam.c +++ b/cam.c @@ -2264,7 +2264,8 @@ void cScCamSlot::Process(const unsigned char *data, int len) LBPUT("/%x",dlen); if(ilen>0 && dlen>=ilen) { ci_cmd=data[0]; - prg->caDescr.Set(&data[1],ilen-1); + if(ilen>1) + prg->caDescr.Set(&data[1],ilen-1); LBPUT(" ci_cmd(G)=%02x",ci_cmd); } data+=ilen; dlen-=ilen; @@ -2277,8 +2278,10 @@ void cScCamSlot::Process(const unsigned char *data, int len) LBPUT("/%x",dlen); if(ilen>0 && dlen>=ilen) { ci_cmd=data[0]; - pid->caDescr.Set(&data[1],ilen-1); - prg->SetPidCaDescr(true); + if(ilen>1) { + pid->caDescr.Set(&data[1],ilen-1); + prg->SetPidCaDescr(true); + } LBPUT(" ci_cmd(S)=%x",ci_cmd); } data+=ilen; dlen-=ilen; -- 2.39.5