Add parameter check code 88/286188/1
authorSuyeon Hwang <stom.hwang@samsung.com>
Thu, 15 Dec 2022 06:55:30 +0000 (15:55 +0900)
committerSuyeon Hwang <stom.hwang@samsung.com>
Fri, 30 Dec 2022 02:08:57 +0000 (11:08 +0900)
- Issue:
Some APIs describe that the API can return invalid parameter error, but
these APIs did not return invalid parameter error.

- Solution:
This patch adds parameter check code. Through this patch, some APIs will
return invalid parameter error if the parameter is not valid.

Change-Id: I1b6e24c31fc0c2aeeeb0930597d4e1069e33677b
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
client/vc.c

index fab3a6a..2c66096 100644 (file)
@@ -2207,6 +2207,8 @@ int vc_request_dialog(const char* disp_text, const char* utt_text, bool auto_sta
        vc_client_get_service_state(&service_state);
        RETVM_IF(service_state != VC_SERVICE_STATE_READY, VC_ERROR_INVALID_STATE, TAG_VCC, "[ERROR] Invalid State: service state(%d) is not 'READY'", service_state);
 
+       RETVM_IF(NULL == disp_text && NULL == utt_text, VC_ERROR_INVALID_PARAMETER, TAG_VCC, "[ERROR] Both two parameters are NULL");
+
        SLOG(LOG_DEBUG, TAG_VCC, "@@@ Request dialog : pid(%d) disp_text(%s), utt_text(%s), auto_start(%d)", getpid(), disp_text, utt_text, auto_start);
        ret = vc_tidl_request_request_dialog(getpid(), disp_text, utt_text, auto_start);
        if (0 != ret) {
@@ -2733,6 +2735,7 @@ int vc_tts_request(const char* text, const char* language, bool to_vc_manager, i
        vc_service_state_e service_state = -1;
        vc_client_get_service_state(&service_state);
        RETVM_IF(service_state != VC_SERVICE_STATE_READY, VC_ERROR_INVALID_STATE, TAG_VCC, "[ERROR] Invalid State: service state(%d) is not 'READY'", service_state);
+       RETVM_IF(NULL == text || NULL == language || NULL == utt_id, VC_ERROR_INVALID_PARAMETER, TAG_VCC, "[ERROR] Parameter is NULL");
 
        SLOG(LOG_DEBUG, TAG_VCC, "@@@ tts request, pid(%d), text(%s), language(%s), to_vc_manager(%d)", pid, text, language, to_vc_manager);
 
@@ -2791,6 +2794,7 @@ int vc_tts_cancel(int utt_id)
        vc_service_state_e service_state = -1;
        vc_client_get_service_state(&service_state);
        RETVM_IF(service_state != VC_SERVICE_STATE_READY, VC_ERROR_INVALID_STATE, TAG_VCC, "[ERROR] Invalid State: service state(%d) is not 'READY'", service_state);
+       RETVM_IF(0 > utt_id, VC_ERROR_INVALID_PARAMETER, TAG_VCC, "[ERROR] utt_id is negative value");
 
        SLOG(LOG_DEBUG, TAG_VCC, "@@@ tts cancel, pid(%d), utt_id(%d)", pid, utt_id);