ioq3/code
Zack Middleton 10a45cbdc1 Don't list mod directories at Windows drive root
The mod list on Windows would search the root of the drive if
fs_basepath, fs_homepath, fs_steampath, or fs_gogpath are blank ("")
(which is usually the case).

The issue is in the low-level Sys_ListFiles() but it only affects the
mod menu, on Windows. It cannot be abused by console commands to
list system files outside of the virtual filesystem.

---

If a directory at the root of the drive of the working directory
contained a pk3 file, the directory was listed in the mods menu. The
virtual filesystem doesn't add blank directory names to the search path
so it cannot load mods from the drive root. (Unless of course you set a
fs_*path cvar to "C:\".)

Sys_ListFiles() with blank directory caused Windows to use "\*" for the
search path and "\" prefix means root of drive. Unix opendir("") failed
so nothing was listed for blank directory.

Sys_ListFilteredFiles() with blank directory _and_ specifying subdirs
could access any directory (on Windows and Unix-like) but no code uses
this or makes it accessible.

These functions are only used for initializing the virtual filesystem
and listing mods. They are not accessible by anything else such as a
console command. Only the mods menu, on Windows, is affected.
2023-07-06 05:10:06 -04:00
..
AL 5882 - Update OpenAL Headers to OpenAL Soft 1.15.1 2013-02-17 07:34:41 -06:00
asm Upgrades to Xcode project and Apple Silicon support 2021-07-06 17:30:27 -05:00
autoupdater Use "x86_64" and not "x86-64" like everything else in ioq3. 2017-06-04 02:46:49 -04:00
botlib Fix hex digit 2022-02-05 13:27:42 +00:00
cgame Fix lightning gun handling for corpses and single player podiums 2019-10-11 20:55:57 -05:00
client Fix (disabled) Wavelet sound decompression 2022-11-23 12:23:50 -06:00
curl-7.54.0/include Revert "E2K: fixed build by MCST lcc compiler when using USE_CURL=1 option" 2022-03-10 15:48:14 -08:00
game Fix memset 2022-02-05 13:27:42 +00:00
jpeg-8c Mark JPEG lib changes, file provided by Simon McVittie 2012-07-01 18:07:56 +00:00
libogg-1.3.3 Rename (already updated) libogg-1.3.2 to libogg-1.3.3 2018-03-16 13:11:27 -05:00
libs Update MSVC .lib files to SDL 2.24.0 2023-02-19 13:08:36 -05:00
libvorbis-1.3.6 Rename (already updated) libvorbis-1.3.5 to libvorbis-1.3.6 2018-03-16 13:29:19 -05:00
null Added audio capture support to SDL backend. 2018-04-13 22:38:17 -04:00
opus-1.2.1 Restored original opus sse files, excluded from Xcode 2021-07-06 17:30:27 -05:00
opusfile-0.9 Rename (already updated) opusfile-0.8 to opusfile-0.9 2018-03-16 13:29:20 -05:00
q3_ui Fix team orders menu not listing clients with lower clientnums 2019-10-28 23:13:57 -05:00
qcommon Add protocol handler support 2023-04-19 13:48:26 +01:00
renderercommon Restore OpenGL 1.1 support (GL_CLAMP) 2019-05-28 22:44:57 -05:00
renderergl1 More predictable mesh normals generation 2022-03-21 18:07:23 +00:00
renderergl2 More predictable mesh normals generation 2022-03-21 18:07:23 +00:00
sdl Fix macOS client/server failing to start from terminal 2023-06-11 11:05:13 -04:00
SDL2 Update macOS UB1 to SDL 2.0.22 2023-02-19 13:08:36 -05:00
server Fix bad client reliableAcknowledge DOS exploit 2023-04-19 14:10:29 +01:00
sys Don't list mod directories at Windows drive root 2023-07-06 05:10:06 -04:00
tools Avoid platform sed differences 2020-09-08 13:25:50 +01:00
ui Override video mode list in Team Arena UI 2019-04-16 00:02:27 -05:00
zlib drop some useless return statements 2013-05-30 15:43:21 -05:00