From b7d9fb5ce30b2f1c5460a866bcac1f2936ff73c4 Mon Sep 17 00:00:00 2001 From: Suyeon Hwang Date: Fri, 22 Dec 2017 20:55:42 +0900 Subject: [PATCH] Add state check logic in vc_get_result Change-Id: I0dd52a857b2238116d3a2595926203e36201f15b Signed-off-by: Suyeon Hwang (cherry picked from commit 234291924f4c92e43863101be4065b57d5d75d3f) --- client/vc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/client/vc.c b/client/vc.c index c89e7f9..d9a5337 100644 --- a/client/vc.c +++ b/client/vc.c @@ -1703,6 +1703,20 @@ int vc_get_result(vc_result_cb callback, void* user_data) SLOG(LOG_DEBUG, TAG_VCC, "@@@ [Client] Get result"); + vc_state_e state; + if (0 != vc_client_get_client_state(g_vc, &state)) { + SLOG(LOG_ERROR, TAG_VCC, "[ERROR] A handle is not available"); + SLOG(LOG_DEBUG, TAG_VCC, "@@@"); + return VC_ERROR_INVALID_STATE; + } + + /* check state */ + if (state != VC_STATE_READY) { + SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Invalid State: Current state is not 'READY'"); + SLOG(LOG_DEBUG, TAG_VCC, "@@@"); + return VC_ERROR_INVALID_STATE; + } + if (NULL == callback) { SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Client result callback is NULL"); return VC_ERROR_INVALID_PARAMETER; -- 2.7.4