Changeset 5175
- Timestamp:
- 05/05/11 08:35:37 (13 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-cccam.c
r5151 r5175 1 #include <string.h> 1 2 2 #include <stdlib.h> 3 3 #include "globals.h" … … 332 332 struct cc_extended_ecm_idx *add_extended_ecm_idx(struct s_client *cl, 333 333 uint8_t send_idx, uint16_t ecm_idx, struct cc_card *card, 334 struct cc_srvid srvid ) {334 struct cc_srvid srvid, int8_t free_card) { 335 335 struct cc_data *cc = cl->cc; 336 336 struct cc_extended_ecm_idx *eei = … … 340 340 eei->card = card; 341 341 eei->srvid = srvid; 342 eei->free_card = free_card; 342 343 ll_append(cc->extended_ecm_idx, eei); 343 344 //cs_debug_mask(D_TRACE, "%s add extended ecm-idx: %d:%d", getprefix(), send_idx, ecm_idx); … … 402 403 if (eei->card == card) { 403 404 cc_reset_pending(cl, eei->ecm_idx); 405 if (eei->free_card) 406 free(eei->card); 404 407 ll_iter_remove_data(it); 405 408 } … … 412 415 LL_ITER *it = ll_iter_create(cc->extended_ecm_idx); 413 416 while ((eei = ll_iter_next(it))) 417 if (eei->free_card) 418 free(eei->card); 414 419 ll_iter_remove_data(it); 415 420 ll_iter_release(it); … … 1198 1203 } 1199 1204 1200 add_extended_ecm_idx(cl, send_idx, cur_er->idx, card, cur_srvid );1205 add_extended_ecm_idx(cl, send_idx, cur_er->idx, card, cur_srvid, 0); 1201 1206 1202 1207 rdr->cc_currenthops = card->hop; … … 2159 2164 srvid.ecmlen = er->l; 2160 2165 add_extended_ecm_idx(cl, cc->extended_mode ? cc->g_flag : 1, 2161 er->idx, server_card, srvid );2166 er->idx, server_card, srvid, 1); 2162 2167 2163 2168 get_cw(cl, er); … … 2530 2535 if (!cc->extended_mode) 2531 2536 cc_crypt(&cc->block[ENCRYPT], buf, 16, ENCRYPT); // additional crypto step 2532 free(eei->card);2537 2533 2538 } else { //NOT found: 2534 2539 //cs_debug_mask(D_TRACE, "%s send cw: NOK cpti: %d", getprefix(), … … 2550 2555 } 2551 2556 cc->server_ecm_pending--; 2552 free(eei); 2557 if (eei) { 2558 free(eei->card); 2559 free(eei); 2560 } 2553 2561 } 2554 2562 -
trunk/module-cccam.h
r5115 r5175 138 138 struct cc_card *card; 139 139 struct cc_srvid srvid; 140 uint8_t free_card; 140 141 } EXTENDED_ECM_IDX; 141 142
Note:
See TracChangeset
for help on using the changeset viewer.