From c1ae672adda45a1b8c5637b8f4d6a3f91378ea20 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 20 May 2005 16:04:10 -0500 Subject: BUG# 9148: Denial of service The problem was that on Windows the access method indicates that access to file such as "com1" and "lpt1" is allowed (since they are device names) and this causes mysql to attempt to open them as databases or tables. The fix was to write our own my_access method that uses other Win32 functions to determine if the given argument is indeed a file and has to requested mode. VC++Files/mysys/mysys.dsp: added my_access VC++Files/mysys/mysys_ia64.dsp: added my_access.c include/my_sys.h: if on windows, we use my_access. if not on windows, then my_access points to the native access method mysys/Makefile.am: added my_access to mysys build file mysys/mf_pack.c: changed call to access to my_access sql/sql_db.cc: changed call to access to my_access --- VC++Files/mysys/mysys.dsp | 5 +++++ VC++Files/mysys/mysys_ia64.dsp | 7 +++++++ 2 files changed, 12 insertions(+) (limited to 'VC++Files/mysys') diff --git a/VC++Files/mysys/mysys.dsp b/VC++Files/mysys/mysys.dsp index ad6caf1986e..f47203d37bf 100644 --- a/VC++Files/mysys/mysys.dsp +++ b/VC++Files/mysys/mysys.dsp @@ -186,6 +186,11 @@ SOURCE=.\array.c !ENDIF # End Source File + +# Begin Source File +SOURCE=".\my_access.c" +# End Source File + # Begin Source File SOURCE=".\charset-def.c" diff --git a/VC++Files/mysys/mysys_ia64.dsp b/VC++Files/mysys/mysys_ia64.dsp index ed2dac53579..a0877457286 100644 --- a/VC++Files/mysys/mysys_ia64.dsp +++ b/VC++Files/mysys/mysys_ia64.dsp @@ -163,6 +163,13 @@ LIB32=link.exe -lib # Name "mysys - WinIA64 Max" # Name "mysys - WinIA64 TLS_DEBUG" # Name "mysys - WinIA64 TLS" + +# Begin Source File + +SOURCE=.\my_access.c + +# End Source File + # Begin Source File SOURCE=.\array.c -- cgit v1.2.1