diff --git a/adapter/uhdf2/test/unittest/platform/BUILD.gn b/adapter/uhdf2/test/unittest/platform/BUILD.gn index 0be9109a9406dbcd0cf0e3b83c79688fd9a5aaf8..ceb863f4a9590c7429dccee66d6dd03ff76f2c26 100644 --- a/adapter/uhdf2/test/unittest/platform/BUILD.gn +++ b/adapter/uhdf2/test/unittest/platform/BUILD.gn @@ -33,14 +33,12 @@ ohos_unittest("hdf_adapter_uhdf_test_platform") { defines = [ "__USER__" ] sources = [ "$hdf_framework_path/support/platform/test/unittest/common/hdf_adc_test.cpp", - "$hdf_framework_path/support/platform/test/unittest/common/hdf_clock_test.cpp", "$hdf_framework_path/support/platform/test/unittest/common/hdf_gpio_test.cpp", "$hdf_framework_path/support/platform/test/unittest/common/hdf_i2c_test.cpp", "$hdf_framework_path/support/platform/test/unittest/common/hdf_pwm_test.cpp", "$hdf_framework_path/support/platform/test/unittest/common/hdf_rtc_test.cpp", "$hdf_framework_path/support/platform/test/unittest/common/hdf_uart_test.cpp", "$hdf_framework_path/test/unittest/platform/common/adc_test.c", - "$hdf_framework_path/test/unittest/platform/common/clock_test.c", "$hdf_framework_path/test/unittest/platform/common/gpio_test.c", "$hdf_framework_path/test/unittest/platform/common/i2c_test.c", "$hdf_framework_path/test/unittest/platform/common/pwm_test.c", diff --git a/framework/core/manager/src/devmgr_service.c b/framework/core/manager/src/devmgr_service.c index 902ce8f545a3fcf3a1447eaace6aaafa9d81ebd1..e5d115b48492f799f888668246601eb2f11b107b 100644 --- a/framework/core/manager/src/devmgr_service.c +++ b/framework/core/manager/src/devmgr_service.c @@ -450,6 +450,10 @@ int DevmgrServicePowerStateChange(struct IDevmgrService *devmgrService, enum Hdf bool DevmgrServiceConstruct(struct DevmgrService *inst) { + if (inst == NULL) { + HDF_LOGE("%{public}s:inst is null ", __func__); + return false; + } struct IDevmgrService *devMgrSvcIf = NULL; if (OsalMutexInit(&inst->devMgrMutex) != HDF_SUCCESS) { HDF_LOGE("%{public}s:failed to mutex init ", __func__); diff --git a/framework/support/posix/src/osal_time.c b/framework/support/posix/src/osal_time.c index 67c386a1e9a82d2ec364d1879f94c8b5ed7b4b34..fd00e9d4dcf8f5aba0c1bede93c68e0fddeb149f 100644 --- a/framework/support/posix/src/osal_time.c +++ b/framework/support/posix/src/osal_time.c @@ -42,7 +42,7 @@ int32_t OsalDiffTime(const OsalTimespec *start, const OsalTimespec *end, OsalTim return HDF_ERR_INVALID_PARAM; } - if (start->sec > end->sec) { + if ((start->sec > end->sec) || ((end->sec == start->sec) && (end->usec < start->usec))) { HDF_LOGE("%s start time later then end time", __func__); return HDF_ERR_INVALID_PARAM; } @@ -52,7 +52,8 @@ int32_t OsalDiffTime(const OsalTimespec *start, const OsalTimespec *end, OsalTim sec = 1; } - if (end->sec - start->sec - sec < 0 || end->sec > UINT64_MAX - sec - start->sec) { + if ((start->sec > UINT64_MAX - sec) || (end->usec > UINT64_MAX - usec) || + (end->sec < start->sec + sec) || (end->usec + usec < start->usec)) { HDF_LOGE("%s end time invalid", __func__); return HDF_ERR_INVALID_PARAM; } diff --git a/framework/tools/hdi-gen/util/string_builder.cpp b/framework/tools/hdi-gen/util/string_builder.cpp index 73fec49a97dc94c2551939371a2b649e302d045f..ab3cb557e32d7e00b015b51ef15d55517bbfb009 100644 --- a/framework/tools/hdi-gen/util/string_builder.cpp +++ b/framework/tools/hdi-gen/util/string_builder.cpp @@ -33,6 +33,10 @@ StringBuilder &StringBuilder::Append(char c) } } + if (buffer_ == nullptr) { + Logger::E(TAG, "buffer_ is nullptr!"); + return *this; + } buffer_[position_] = c; position_ += 1; return *this; @@ -146,12 +150,12 @@ bool StringBuilder::Grow(size_t size) if (buffer_ != nullptr) { int ret = memcpy_s(newBuffer, newSize, buffer_, capacity_); - free(buffer_); if (ret != 0) { Logger::E(TAG, "memcpy_s error ret = %d!", ret); free(newBuffer); return false; } + free(buffer_); } buffer_ = newBuffer; capacity_ = newSize; @@ -160,6 +164,10 @@ bool StringBuilder::Grow(size_t size) std::string StringBuilder::ToString() const { + if (buffer_ == nullptr) { + Logger::E(TAG, "buffer_ is nullptr"); + return ""; + } return std::string(buffer_, position_); } } // namespace HDI diff --git a/interfaces/inner_api/hdi/base/hdi_smq.h b/interfaces/inner_api/hdi/base/hdi_smq.h index ecdc37ee7199e2da3488221fa431d1a08101456f..e10e62e6c8574bfa14cd72c3088d258a7ed9291c 100644 --- a/interfaces/inner_api/hdi/base/hdi_smq.h +++ b/interfaces/inner_api/hdi/base/hdi_smq.h @@ -401,7 +401,7 @@ bool SharedMemQueue::IsGood() template size_t SharedMemQueue::Align(size_t num, size_t alignSize) { - if ((num + alignSize) < 1 || num > (SIZE_MAX - alignSize) || alignSize > (SIZE_MAX - num)) { + if (alignSize < 1 || num > (SIZE_MAX - alignSize)) { HDF_LOGE("Invalid parameter num or alignSize"); return 0; }