]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
[PR-175] capmt: ignoring removal requests, fix segfault
authorMariusz Bialonczyk <manio@skyboo.net>
Mon, 12 Nov 2012 18:05:36 +0000 (19:05 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Thu, 15 Nov 2012 17:05:45 +0000 (17:05 +0000)
src/capmt.c

index fb015fb1fe535a74605bdded1d2c0977b731a316..c66852287ac8832f65c530ffbf61953f5e343188 100644 (file)
@@ -368,6 +368,8 @@ handle_ca0(capmt_t* capmt) {
       } else if (*request == CA_SET_DESCR) {
         ca = (ca_descr_t *)&buffer[sizeof(int)];
         tvhlog(LOG_DEBUG, "capmt", "CA_SET_DESCR cai %d req %d par %d idx %d %02x%02x%02x%02x%02x%02x%02x%02x", cai, *request, ca->parity, ca->index, ca->cw[0], ca->cw[1], ca->cw[2], ca->cw[3], ca->cw[4], ca->cw[5], ca->cw[6], ca->cw[7]);
+        if (ca->index == -1)   // skipping removal request
+          continue;
 
         if(ca->parity==0) {
           memcpy(&ca_info[cai][ca->index][EVEN_OFF],ca->cw,KEY_SIZE); // even key