fix coverity issue 06/223606/1
authorJeon Sang-Heon <sh95.jeon@samsung.com>
Fri, 31 Jan 2020 02:37:39 +0000 (11:37 +0900)
committerJeon Sang-Heon <sh95.jeon@samsung.com>
Fri, 31 Jan 2020 02:37:39 +0000 (11:37 +0900)
- modify strcmp to strncmp for non null terminated string params
- modify uncatched return code from fseek

Change-Id: Ia7f672a163dc4e7eeeb44dd0b077f73df7e97ab7

ss_engine/SS_PatchDelta.c
ss_engine/SS_UPI.c
ss_engine/fota_tar.c

index af6df2a..a65ae7c 100755 (executable)
@@ -655,7 +655,12 @@ int SS_UpdateDeltaKernel(ua_dataSS_t * ua_dataSS, int (*write_to_blkdev) (char *
                file_num = atoi(tok_buf);
 
        //adjust offset to start of data section before proceeding
-       fseek(fp, SS_KERNEL_DELTA_HEADER, SEEK_SET);
+       ret = fseek(fp, SS_KERNEL_DELTA_HEADER, SEEK_SET);
+       if (ret != 0) {
+               LOGE("fseek is failed : errno[%d]\n", ret);
+               result = E_SS_FAILURE;
+               goto Cleanup;
+       }
 
        while (file_num-- > 0) {
                file_name = strtok_r(NULL, ":", &saveptr);
index cbfac8f..9fcbcff 100755 (executable)
@@ -2371,7 +2371,7 @@ int SS_IMGUpdatemain(ua_dataSS_t * ua_dataSS, int update_type)  //SS_FSUpdatePar
                        LOGL(LOG_SSENGINE, "short read of \"%s\" (%ld bytes of %ld)\n", SS_PATCHFILE_SOURCE, (long)bytes_read, (long)13);
                fclose(fp);
 
-               if (strcmp(buf, SS_KERNEL_MAGIC) == 0)
+               if (strncmp(buf, SS_KERNEL_MAGIC, sizeof(buf) / sizeof(char)) == 0)
                        ulResult = SS_UpdateDeltaKernel(ua_dataSS, ua_dataSS->write_data_to_blkdev);
                else
                        ulResult = SS_UpdateDeltaIMG(ua_dataSS, ua_dataSS->write_data_to_blkdev);
index 604cf75..1ec4aae 100755 (executable)
@@ -334,7 +334,7 @@ int tar_get_item_size(char *tar, char *item)
                }
 
                /* check if the file is what we are looking for */
-               if (strcmp(uExtendedName, item) == 0) {
+               if (strncmp(uExtendedName, item, sizeof(uExtendedName) / sizeof(char)) == 0) {
                        ret = (int)size_dec;
                        if ((ret == 0) && (header[TAR_ITEM_TYPE_FLAG_POS] == DIRTYPE))
                                ret = tar_get_folder_size(tar, item);