From 032e547d505ddbe3c6c386fb26ee6dac769909a8 Mon Sep 17 00:00:00 2001 From: Mirek Fidler Date: Thu, 30 Jul 2026 16:36:01 +0200 Subject: [PATCH] ide: Removed '->' logic from gdb autos as it can lead to crashes via calling operator-> --- uppsrc/Core/App.cpp | 14 +++++++------- uppsrc/ide/Debuggers/GdbData.cpp | 3 --- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/uppsrc/Core/App.cpp b/uppsrc/Core/App.cpp index 94f1f5d7f..3bf5720d0 100644 --- a/uppsrc/Core/App.cpp +++ b/uppsrc/Core/App.cpp @@ -723,13 +723,13 @@ String GetUserName() ::GetUserNameW(temp, &w); return temp; #else - size_t bsz = 1024; - Buffer buf(bsz); - struct passwd pwd; - struct passwd *result = NULL; - int rc; - while((rc = getpwuid_r(getuid(), &pwd, buf, bsz, &result)) == ERANGE) - buf.Alloc(bsz *= 2); + size_t bsz = 1024; + Buffer buf(bsz); + struct passwd pwd; + struct passwd *result = NULL; + int rc; + while((rc = getpwuid_r(getuid(), &pwd, buf, bsz, &result)) == ERANGE) + buf.Alloc(bsz *= 2); return rc == 0 && result ? pwd.pw_name : ""; #endif diff --git a/uppsrc/ide/Debuggers/GdbData.cpp b/uppsrc/ide/Debuggers/GdbData.cpp index d145d82d4..252611091 100644 --- a/uppsrc/ide/Debuggers/GdbData.cpp +++ b/uppsrc/ide/Debuggers/GdbData.cpp @@ -173,9 +173,6 @@ void Gdb::Autos() for(;;) { if(p.Char('.') && p.IsId()) exp << '.'; - else - if(p.Char2('-', '>') && p.IsId()) - exp << "->"; else break; exp << p.ReadId();