Merge "[Feature][task-view-564][FOTA] add full fota from ftp for zhenkang" into ZK-first-oem-release
diff --git a/LYNQ_PUBLIC/IC_src/mtk/lib/liblynq-fota/rock_ua/rock_ua.c b/LYNQ_PUBLIC/IC_src/mtk/lib/liblynq-fota/rock_ua/rock_ua.c
index c5af602..308fba5 100755
--- a/LYNQ_PUBLIC/IC_src/mtk/lib/liblynq-fota/rock_ua/rock_ua.c
+++ b/LYNQ_PUBLIC/IC_src/mtk/lib/liblynq-fota/rock_ua/rock_ua.c
@@ -555,17 +555,28 @@
     return ;
 }
 
-void get_delta_mtd(char *delta_mtd)
+int get_delta_mtd(char *delta_mtd)
 {
     FILE *fp;
-    char mtd_buffer[8];
+    char mtd_buffer[16] = {0};
     fp = popen("cat /proc/mtd|grep delta|awk '{print $1}'","r");
+    if(fp == NULL)
+    {
+        RLOGD("get_delta_mtd popen fail\n");
+        return -1;
+    }
     fgets(mtd_buffer, sizeof(mtd_buffer), fp);
+    if(strlen(mtd_buffer) == 0)
+    {
+        RLOGD("get delta mtd fail\n");
+        pclose(fp);
+        return -1;
+    }
     delete_enter(mtd_buffer);
     sprintf(delta_mtd,"/dev/%s", mtd_buffer);
     RLOGD("delta_mtd:%s\n", delta_mtd);
     pclose(fp);
-    return;
+    return 0;
 }
 
 int get_file_size(void)
@@ -602,7 +613,6 @@
     return 0;
 }
 
-
 static int init_dev_fd()
 {
 
@@ -617,7 +627,11 @@
         return E_ROCK_FOTA_ADDR;
     }
     RLOGD("+[UA]: get fota pack addr: %s\n",lynq_fota_addr);
-    get_delta_mtd(g_delta_mtd);
+    ret = get_delta_mtd(g_delta_mtd);
+    if(ret != 0)
+    {
+        return -1;
+    }
     if(!(strcmp(lynq_fota_addr, "/tmp/fota.delta")))
     {
         ret = get_file_size();
@@ -716,14 +730,14 @@
     char delta_data[ROCK_DEFAULT_BLOCK_SIZE];
     char lynq_fota_addr[64];
     fd_source = open(source,O_RDONLY);
-     
+
     if (fd_source < 0) {
         RLOGD("+[UA]: open source  error\n");
         return 1;
     }
 
     fd_target = mtk_device_wrap_open(target,O_RDWR);
- 
+
     if (fd_target < 0) {
         mtk_device_wrap_close(fd_target);
         close(fd_source);