libusbgx: Dereference pointer before switch
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Mon, 13 Apr 2015 10:39:21 +0000 (12:39 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Tue, 22 Dec 2015 20:45:35 +0000 (21:45 +0100)
In each case in usbg_cleanup_function() we have
been using f_attrs->attrs. To make this shorter
and more readable add attrs pointer which is
equal to &f_attrs->attrs.

Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Reviewed-by: Pawel Szewczyk <p.szewczyk@samsung.com>
src/usbg.c

index 96c0a2b..1d98d2e 100644 (file)
@@ -2615,26 +2615,30 @@ int usbg_get_function_attrs(usbg_function *f, usbg_function_attrs *f_attrs)
 
 void usbg_cleanup_function_attrs(usbg_function_attrs *f_attrs)
 {
+       usbg_f_attrs *attrs;
+
        if (!f_attrs)
                return;
 
+       attrs = &f_attrs->attrs;
+
        switch (f_attrs->header.attrs_type) {
        case USBG_F_ATTRS_SERIAL:
                break;
 
        case USBG_F_ATTRS_NET:
-               free(f_attrs->attrs.net.ifname);
-               f_attrs->attrs.net.ifname = NULL;
+               free(attrs->net.ifname);
+               attrs->net.ifname = NULL;
                break;
 
        case USBG_F_ATTRS_PHONET:
-               free(f_attrs->attrs.phonet.ifname);
-               f_attrs->attrs.phonet.ifname = NULL;
+               free(attrs->phonet.ifname);
+               attrs->phonet.ifname = NULL;
                break;
 
        case USBG_F_ATTRS_FFS:
-               free(f_attrs->attrs.ffs.dev_name);
-               f_attrs->attrs.ffs.dev_name = NULL;
+               free(attrs->ffs.dev_name);
+               attrs->ffs.dev_name = NULL;
                break;
        default:
                ERROR("Unsupported attrs type\n");