• unknown's avatar
    BUG# 9148: Denial of service · d7a4a8b6
    unknown authored
    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
    d7a4a8b6
mf_pack.c 14.3 KB