Showing error 1859

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


Source:

453                result = __wlp_setup_device_info(wlp);
454                if (result < 0)
455                        goto out;
456        }
457        result = scnprintf(buf, PAGE_SIZE, "%02x:%02x:%02x\n",
458                           wlp->dev_info->prim_dev_type.OUI[0],
459                           wlp->dev_info->prim_dev_type.OUI[1],
460                           wlp->dev_info->prim_dev_type.OUI[2]);
461out:
462        mutex_unlock(&wlp->mutex);
463        return result;
464}
465EXPORT_SYMBOL_GPL(wlp_dev_prim_OUI_show);
466
467ssize_t wlp_dev_prim_OUI_store(struct wlp *wlp, const char *buf, size_t size)
468{
469        ssize_t result;
470        u8 OUI[3];
471        mutex_lock(&wlp->mutex);
472        if (wlp->dev_info == NULL) {
473                result = __wlp_alloc_device_info(wlp);
474                if (result < 0)
475                        goto out;
476        }
477        result = sscanf(buf, "%hhx:%hhx:%hhx",
478                        &OUI[0], &OUI[1], &OUI[2]);
479        if (result != 3) {
480                result = -EINVAL;
481                goto out;
482        } else
483                memcpy(wlp->dev_info->prim_dev_type.OUI, OUI, sizeof(OUI));
484out:
485        mutex_unlock(&wlp->mutex);
486        return result < 0 ? result : size;
487}
488EXPORT_SYMBOL_GPL(wlp_dev_prim_OUI_store);
489
490
491ssize_t wlp_dev_prim_OUI_sub_show(struct wlp *wlp, char *buf)
492{
493        ssize_t result = 0;
Show full sources