Check if temp_id is overflowed 93/290393/1 accepted/tizen/unified/20230325.044638
authorcheoleun moon <chleun.moon@samsung.com>
Fri, 24 Mar 2023 02:11:19 +0000 (11:11 +0900)
committercheoleun moon <chleun.moon@samsung.com>
Fri, 24 Mar 2023 02:11:34 +0000 (11:11 +0900)
Change-Id: I1d1aad6ea6b2c46ba037afd5fa224c391614e3d5

packaging/download-provider.spec
provider/download-provider-client.c

index 20fbfd7a6c372ae4be7788d9419622d071c6e873..856e1010441ec51aa902da5793e63cafe9447267 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       download-provider
 Summary:    Download the contents in background
-Version:    2.3.9
+Version:    2.3.10
 Release:    0
 Group:      Development/Libraries
 License:    Apache-2.0
index d1a2e0ffdda427f59349ed461ad260b31d0e50ad..3ce178574dcc136532611c3154e4b11ac1dfb104 100755 (executable)
@@ -325,7 +325,7 @@ static int __dp_get_download_id(dp_client_fmt *client)
        long long temp_id = download_id;
        do {
                retry_count++;
-               if (temp_id < INT_MAX) {
+               if (temp_id >= 0 && temp_id < INT_MAX) {
                        TRACE_INFO("download_id [%lld]", temp_id);
                        check_duplicate = dp_db_check_duplicated_int(client->dbhandle,
                                        DP_TABLE_LOGGING, DP_DB_COL_ID, (int)temp_id, &errorcode);
@@ -350,7 +350,7 @@ static int __dp_get_download_id(dp_client_fmt *client)
                                return -1;
                        }
                } else {
-                       TRACE_ERROR("reached INT_MAX limit");
+                       TRACE_ERROR("reached INT_MAX limit or overflow");
                        temp_id = DP_FIRST_DOWNLOAD_ID;
                }
        } while (check_duplicate != 0);