Nikolay Sivov : vbscript: Handle null arguments in MonthName().
Alexandre Julliard
julliard at winehq.org
Tue May 24 15:54:59 CDT 2022
Module: wine
Branch: master
Commit: ea9281d33a9a2832f859a834ea7bc6a93204b214
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ea9281d33a9a2832f859a834ea7bc6a93204b214
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue May 24 08:52:06 2022 +0300
vbscript: Handle null arguments in MonthName().
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/vbscript/global.c | 3 +++
dlls/vbscript/tests/api.vbs | 17 +++++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c
index 80348a5288f..876a41a14b2 100644
--- a/dlls/vbscript/global.c
+++ b/dlls/vbscript/global.c
@@ -2897,6 +2897,9 @@ static HRESULT Global_MonthName(BuiltinDisp *This, VARIANT *args, unsigned args_
assert(args_cnt == 1 || args_cnt == 2);
+ if(V_VT(args) == VT_NULL || (args_cnt == 2 && V_VT(args+1) == VT_NULL))
+ return MAKE_VBSERROR(VBSE_ILLEGAL_NULL_USE);
+
hres = to_int(args, &month);
if(FAILED(hres))
return hres;
diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs
index 617589053c6..758013c93ef 100644
--- a/dlls/vbscript/tests/api.vbs
+++ b/dlls/vbscript/tests/api.vbs
@@ -2148,4 +2148,21 @@ call testWeekday(DateSerial(2000, 1, 1), vbFriday, 2)
call testWeekday(DateSerial(2000, 1, 1), vbSaturday, 1)
call testWeekdayError()
+sub testMonthNameError()
+ on error resume next
+ call Err.clear()
+ call MonthName(null)
+ call ok(Err.number = 94, "Err.number = " & Err.number)
+ call Err.clear()
+ call MonthName(1, null)
+ call ok(Err.number = 94, "Err.number = " & Err.number)
+ call Err.clear()
+ call MonthName(null, null)
+ call ok(Err.number = 94, "Err.number = " & Err.number)
+ call Err.clear()
+ call MonthName("a", null)
+ call ok(Err.number = 94, "Err.number = " & Err.number)
+end sub
+call testMonthNameError()
+
Call reportSuccess()
More information about the wine-cvs
mailing list