pass: hal: Assign resource name directly instead of copying it
authorDongwoo Lee <dwoo08.lee@samsung.com>
Mon, 17 Jul 2017 01:55:15 +0000 (10:55 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 17 Jul 2017 11:30:23 +0000 (20:30 +0900)
The resource name is copied from .rodata region, but it is local
variable and is not assigned to other structure or global variable.
Thus, we can easily assign the name instead of copying it.

Change-Id: I6f911d2e35ed52fb0d3a39700e3735d0986360da
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
src/pass/pass-hal.c

index dae77fc33a631025668e9f434baf28320f67b1fa..23090f5c31643587ebaed6998c64086fb768497a 100644 (file)
@@ -506,7 +506,7 @@ int pass_get_resource(struct pass_resource *res)
        struct pass_conf_data *cdata;
        struct pass_resource_info *info;
        char *res_name;
-       char name[BUFF_MAX];
+       const char *name;
        int res_type;
        int ret;
        int len;
@@ -519,28 +519,22 @@ int pass_get_resource(struct pass_resource *res)
 
        switch (res_type) {
        case PASS_RESOURCE_CPU_ID:
-               len = strlen(PASS_RESOURCE_CPU_NAME);
-               strncpy(name, PASS_RESOURCE_CPU_NAME, len);
+               name = PASS_RESOURCE_CPU_NAME;
                break;
        case PASS_RESOURCE_BUS_ID:
-               len = strlen(PASS_RESOURCE_BUS_NAME);
-               strncpy(name, PASS_RESOURCE_BUS_NAME, len);
+               name = PASS_RESOURCE_BUS_NAME;
                break;
        case PASS_RESOURCE_GPU_ID:
-               len = strlen(PASS_RESOURCE_GPU_NAME);
-               strncpy(name, PASS_RESOURCE_GPU_NAME, len);
+               name = PASS_RESOURCE_GPU_NAME;
                break;
        case PASS_RESOURCE_NONSTANDARD_ID:
-               len = strlen(PASS_RESOURCE_NONSTANDARD_NAME);
-               strncpy(name, PASS_RESOURCE_NONSTANDARD_NAME, len);
+               name = PASS_RESOURCE_NONSTANDARD_NAME;
                break;
        default:
                _E("Unsupported resource type (type: %d)\n", res_type);
                return -EINVAL;
        };
 
-       name[len] = '\0';
-
        ret = pass_get_hal_info(name,
                        (const struct pass_resource_info **)&info);
        if (ret < 0) {