diff --git a/tzdriver/src/smc_smp.c b/tzdriver/src/smc_smp.c index 01ea4206918c41ae70da19176d4ed87f6686035c..1f6800ddb18fadd23e4bf9b612b0f3eb834d56dd 100644 --- a/tzdriver/src/smc_smp.c +++ b/tzdriver/src/smc_smp.c @@ -952,7 +952,11 @@ static void ShadowWorkFunc(struct work_struct *work) *targetArg = sWork->target; char shadowName[OS_TCB_NAME_LEN] = {0}; - sprintf_s(shadowName, OS_TCB_NAME_LEN, "shadow_th/%lu", g_shadowThreadId++); + int ret = sprintf_s(shadowName, OS_TCB_NAME_LEN, "shadow_th/%lu", g_shadowThreadId++); + if (ret < 0) { + free(targetArg); + return; + } shadowThread = KthreadRun(ShadowThreadFn, targetArg, sizeof(uint64_t), shadowName); if (IS_ERR_OR_NULL(shadowThread)) { free(targetArg);