board: fix parameter of get_device_serial_number() 49/260049/1 accepted/tizen/unified/20210621.123303 submit/tizen/20210618.075427
authorYoungjae Cho <y0.cho@samsung.com>
Fri, 18 Jun 2021 03:09:07 +0000 (12:09 +0900)
committerYoungjae Cho <y0.cho@samsung.com>
Fri, 18 Jun 2021 03:09:07 +0000 (12:09 +0900)
Change-Id: Ifd9ab60a29485d39e96b8e1d2a8b1ab149133e84
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
hw/board/board.c

index e9d11fc66ff02b8547dc51d7e63180e02d274c22..7431654d6cbc4c964d19c9989f47be9a21e1e1b5 100644 (file)
@@ -115,32 +115,24 @@ static int get_serialno_from_cpuinfo(void)
        return -EIO;
 }
 
-static int get_device_serial_number(char **out)
+static int get_device_serial_number(char *buffer, int len)
 {
        int ret;
-       if (info.serial_len > 0 && strlen(info.serial) == info.serial_len) {
-               *out = strdup(info.serial);
-               if (!out) {
-                       _E("Out of memory, strdup failed.");
-                       return -ENOMEM;
-               }
-               return 0;
-       }
 
-       ret = get_serialno_from_dat();
-       if (ret < 0) {
-               ret = get_serialno_from_cpuinfo();
+       if (info.serial_len == 0) {
+               ret = get_serialno_from_dat();
                if (ret < 0) {
-                       _E("Failed to find serial number.");
-                       return ret;
+                       ret = get_serialno_from_cpuinfo();
+                       if (ret < 0) {
+                               _E("Failed to find serial number.");
+                               return ret;
+                       }
                }
        }
 
-       *out = strdup(info.serial);
-       if (!out)
-               _E("Out of memory, strdup failed.");
+       strncpy(buffer, info.serial, len);
 
-       return ret;
+       return 0;
 }
 
 static int get_device_revision(int *out)