Dmitry Timoshkov : taskschd: Add invalid parameter check to IRegisteredTask:: get_State and IRegisteredTask::get_Enabled.
Module: wine Branch: master Commit: ea248186b35796e733e1246759a0b89967cf6a0e URL: http://source.winehq.org/git/wine.git/?a=commit;h=ea248186b35796e733e1246759... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Thu Apr 10 17:41:22 2014 +0900 taskschd: Add invalid parameter check to IRegisteredTask::get_State and IRegisteredTask::get_Enabled. --- dlls/taskschd/regtask.c | 4 ++++ dlls/taskschd/tests/scheduler.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/dlls/taskschd/regtask.c b/dlls/taskschd/regtask.c index e224b3e..5e9d5d3 100644 --- a/dlls/taskschd/regtask.c +++ b/dlls/taskschd/regtask.c @@ -157,6 +157,8 @@ static HRESULT WINAPI regtask_get_State(IRegisteredTask *iface, TASK_STATE *stat TRACE("%p,%p\n", iface, state); + if (!state) return E_POINTER; + return SchRpcGetTaskInfo(regtask->path, SCH_FLAG_STATE, &enabled, state); } @@ -168,6 +170,8 @@ static HRESULT WINAPI regtask_get_Enabled(IRegisteredTask *iface, VARIANT_BOOL * TRACE("%p,%p\n", iface, v_enabled); + if (!v_enabled) return E_POINTER; + hr = SchRpcGetTaskInfo(regtask->path, 0, &enabled, &state); if (hr == S_OK) *v_enabled = enabled ? VARIANT_TRUE : VARIANT_FALSE; diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c index e54e6ee..17501ad 100644 --- a/dlls/taskschd/tests/scheduler.c +++ b/dlls/taskschd/tests/scheduler.c @@ -909,6 +909,11 @@ todo_wine todo_wine ok(vbool == VARIANT_TRUE, "expected VARIANT_TRUE, got %d\n", vbool); + hr = IRegisteredTask_get_State(task2, NULL); + ok(hr == E_POINTER, "expected E_POINTER, got %#x\n", hr); + hr = IRegisteredTask_get_Enabled(task2, NULL); + ok(hr == E_POINTER, "expected E_POINTER, got %#x\n", hr); + IRegisteredTask_Release(task2); hr = ITaskFolder_DeleteTask(folder, NULL, 0);
participants (1)
-
Alexandre Julliard