Showing error 1805

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/um_idi.c
Line in file: 601
Project: Linux Kernel
Project version: 2.6.28
Tools: Smatch (1.59)
Entered: 2013-09-11 08:47:26 UTC


Source:

571                e->e.XNum = 1;
572                e->e.RNum = 1;
573                e->e.callback = diva_um_idi_xdi_callback;
574                e->e.X = &e->XData;
575                e->e.R = &e->RData;
576                assign = 1;
577        }
578        e->status |= DIVA_UM_IDI_RC_PENDING;
579        e->e.Req = Req;
580        e->e.ReqCh = (byte) req->ReqCh;
581        e->e.X->PLength = (word) req->data_length;
582        e->e.X->P = (byte *) & req[1];        /* Our buffer is safe */
583
584        DBG_TRC(("A(%d) E(%08x) request(%02x-%02x-%02x (%d))",
585                 e->adapter->adapter_nr, e, e->e.Id, e->e.Req,
586                 e->e.ReqCh, e->e.X->PLength));
587
588        e->rc_count++;
589
590        if (e->adapter && e->adapter->d.request) {
591                diva_um_idi_start_wdog(e);
592                (*(e->adapter->d.request)) (&e->e);
593        }
594
595        if (assign) {
596                if (e->e.Rc == OUT_OF_RESOURCES) {
597                        /*
598                           XDI has no entities more, call was not forwarded to the card,
599                           no callback will be scheduled
600                         */
601                        DBG_ERR(("A: A(%d) E(%08x) XDI out of entities",
602                                 e->adapter->adapter_nr, e));
603
604                        e->e.Id = 0;
605                        e->e.ReqCh = 0;
606                        e->e.RcCh = 0;
607                        e->e.Ind = 0;
608                        e->e.IndCh = 0;
609                        e->e.XNum = 0;
610                        e->e.RNum = 0;
611                        e->e.callback = NULL;
Show full sources