merge: codeql findings #1 and #2

This commit is contained in:
2026-05-02 23:27:12 +02:00
2 changed files with 20 additions and 7 deletions
+13 -7
View File
@@ -94,18 +94,24 @@ internal static class ImGuiUtil
foreach (var part in csText.Split(["\r\n", "\r", "\n"], StringSplitOptions.None))
{
var bytes = Encoding.UTF8.GetBytes(part);
// Empty splits (consecutive newlines) leave bytes.Length at 0
// and the textEnd pointer below would coincide with text. The
// ImGuiNative word-wrap calls treat that as undefined input,
// and the CodeQL "unvalidated local pointer arithmetic" alert
// also flags it. Render an empty line and skip the unsafe
// block entirely for this iteration.
if (bytes.Length == 0)
{
ImGui.TextUnformatted("");
continue;
}
fixed (byte* rawText = bytes)
{
var text = rawText;
var textEnd = text + bytes.Length;
// empty string
if (text == null)
{
ImGui.TextUnformatted("");
continue;
}
var widthLeft = ImGui.GetContentRegionAvail().X;
var endPrevLine = ImGuiNative.CalcWordWrapPositionA(ImGui.GetFont().Handle, ImGuiHelpers.GlobalScale, text, textEnd, widthLeft);
if (endPrevLine == null)