mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-10-21 02:07:49 +00:00
[fs] fix crash on '#' comments in pchtxt patches (#4124)
Adds `#` as a valid pchtxt comment, and fixes a crash that could occur when using odd-length values This patch was sent by Adam Kittelson <adam@apathydrive.com> Signed-off-by: crueter <crueter@eden-emu.dev> Co-authored-by: Cole Avenue <cole@melisand.re> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4124 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: 2013 Dolphin Emulator Project
|
// SPDX-FileCopyrightText: 2013 Dolphin Emulator Project
|
||||||
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
|
// SPDX-FileCopyrightText: 2014 Citra Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
@@ -12,7 +15,7 @@ std::vector<u8> HexStringToVector(std::string_view str, bool little_endian) {
|
|||||||
for (std::size_t i = str.size() - 2; i <= str.size(); i -= 2)
|
for (std::size_t i = str.size() - 2; i <= str.size(); i -= 2)
|
||||||
out[i / 2] = (ToHexNibble(str[i]) << 4) | ToHexNibble(str[i + 1]);
|
out[i / 2] = (ToHexNibble(str[i]) << 4) | ToHexNibble(str[i + 1]);
|
||||||
} else {
|
} else {
|
||||||
for (std::size_t i = 0; i < str.size(); i += 2)
|
for (std::size_t i = 0; i + 1 < str.size(); i += 2)
|
||||||
out[i / 2] = (ToHexNibble(str[i]) << 4) | ToHexNibble(str[i + 1]);
|
out[i / 2] = (ToHexNibble(str[i]) << 4) | ToHexNibble(str[i + 1]);
|
||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
|
|||||||
@@ -256,7 +256,7 @@ void IPSwitchCompiler::Parse() {
|
|||||||
const auto& patch_line = lines[++i];
|
const auto& patch_line = lines[++i];
|
||||||
|
|
||||||
// Patch line may contain comments
|
// Patch line may contain comments
|
||||||
if (StartsWith(patch_line, "//")) {
|
if (StartsWith(patch_line, "//") || StartsWith(patch_line, "#")) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user