From: Yongjoo Ahn Date: Mon, 17 Mar 2025 01:48:52 +0000 (+0900) Subject: [Coverity] Fix possible overflow X-Git-Tag: accepted/tizen/unified/20250318.155612^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5bd26c60f6fb59baaef9c4e30f3fba64a26e6286;p=platform%2Fhal%2Fapi%2Fml.git [Coverity] Fix possible overflow Signed-off-by: Yongjoo Ahn --- diff --git a/src/hal-api-ml.c b/src/hal-api-ml.c index 5d9e086..b77a4be 100644 --- a/src/hal-api-ml.c +++ b/src/hal-api-ml.c @@ -71,6 +71,15 @@ hal_ml_scan_backends (void) _D ("Scanning available HAL ML backends..."); hal_ml_backend_count = hal_common_get_backend_count (HAL_MODULE_ML); + if (hal_ml_backend_count < 0) { + _E ("Failed to get backend count"); + return -1; + } + + if (hal_ml_backend_count == 0) { + return 0; + } + _D ("hal_ml_backend_count: %d", hal_ml_backend_count); hal_ml_backend_names = (char **) malloc (sizeof (char *) * hal_ml_backend_count); @@ -180,6 +189,15 @@ hal_ml_create (const char *backend_name, hal_ml_h *handle) static int scanned = 1; if (scanned == 1) { scanned = hal_ml_scan_backends (); + if (scanned < 0) { + _E ("Failed to scan backends"); + return HAL_ML_ERROR_RUNTIME_ERROR; + } + } + + if (hal_ml_backend_count == 0) { + _E ("There is no available backends"); + return HAL_ML_ERROR_NOT_SUPPORTED; } _I ("Initializing backend %s", backend_name); diff --git a/tests/ml-haltests.cc b/tests/ml-haltests.cc index e10fec2..244a0cf 100644 --- a/tests/ml-haltests.cc +++ b/tests/ml-haltests.cc @@ -43,7 +43,7 @@ TEST (HAL_ML, create_n) hal_ml_h ml; EXPECT_EQ (hal_ml_create (nullptr, &ml), HAL_ML_ERROR_INVALID_PARAMETER); - EXPECT_EQ (hal_ml_create ("there_is_no_available_backend", &ml), HAL_ML_ERROR_INVALID_PARAMETER); + EXPECT_NE (hal_ml_create ("there_is_no_available_backend", &ml), HAL_ML_ERROR_NONE); } TEST (HAL_ML, destroy_n)