Showing error 1802

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: drivers/isdn/hardware/eicon/message.c
Line in file: 5980
Project: Linux Kernel
Project version: 2.6.28
Tools: Smatch (1.59)
Entered: 2013-09-11 08:47:26 UTC


Source:

 5950            dbug(1,dprintf("init:hook_on"));
 5951            plci->hook_state = ie[1]&0x91;
 5952            next_internal_command (Id, plci);
 5953            break;
 5954          }
 5955          else /* ignore doubled hook indications */
 5956          {
 5957            if( ((plci->hook_state)&0xf0)==0x90) break;
 5958            plci->hook_state = ie[1]&0x91;
 5959          }
 5960          /* hangup the adv. voice call and signal '-' to the appl */
 5961          if(a->AdvSignalPLCI) {
 5962            Id = ((word)a->AdvSignalPLCI->Id<<8)|a->Id;
 5963            if(plci->tel) Id|=EXT_CONTROLLER;
 5964            sendf(a->AdvSignalAppl,
 5965                  _FACILITY_I,
 5966                  Id,
 5967                  0,
 5968                  "ws", (word)0, "\x01-");
 5969            a->AdvSignalPLCI->internal_command = HOOK_ON_REQ;
 5970            a->AdvSignalPLCI->command = 0;
 5971            sig_req(a->AdvSignalPLCI,HANGUP,0);
 5972            send_req(a->AdvSignalPLCI);
 5973          }
 5974          break;
 5975      }
 5976    }
 5977    break;
 5978
 5979  case RESUME:
 5980    clear_c_ind_mask_bit (plci, (word)(plci->appl->Id-1));
 5981    PUT_WORD(&resume_cau[4],GOOD);
 5982    sendf(plci->appl,_FACILITY_I,Id,0,"ws", (word)3, resume_cau);
 5983    break;
 5984
 5985  case SUSPEND:
 5986    clear_c_ind_mask (plci);
 5987
 5988    if (plci->NL.Id && !plci->nl_remove_id) {
 5989      mixer_remove (plci);
 5990      nl_req_ncci(plci,REMOVE,0);
Show full sources