Upon error conditions in cx18/ivtv_probe(), the code at the 'err:' label
leaves a NULL entry in cx18/ivtv_cards[]. This can cause a NULL pointer
de-reference in cx18/ivtv_v4l2_open() which is fixed by this patch.
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
        for (x = 0; cx == NULL && x < cx18_cards_active; x++) {
                /* find out which stream this open was on */
                for (y = 0; y < CX18_MAX_STREAMS; y++) {
+                       if (cx18_cards[x] == NULL)
+                               continue;
                        s = &cx18_cards[x]->streams[y];
                        if (s->v4l2dev && s->v4l2dev->minor == minor) {
                                cx = cx18_cards[x];
 
        /* Find which card this open was on */
        spin_lock(&ivtv_cards_lock);
        for (x = 0; itv == NULL && x < ivtv_cards_active; x++) {
+               if (ivtv_cards[x] == NULL)
+                       continue;
                /* find out which stream this open was on */
                for (y = 0; y < IVTV_MAX_STREAMS; y++) {
                        s = &ivtv_cards[x]->streams[y];