From c5a6dfe6bd3b87679d1295e9d21c14feecd8fa4a Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 18 Apr 2019 06:02:19 +0000 Subject: [PATCH] ide: Fixed gdb crash on parsing gdb data git-svn-id: svn://ultimatepp.org/upp/trunk@13006 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/Hash.cpp | 2 +- uppsrc/ide/Builders/GccBuilder.cpp | 2 +- uppsrc/ide/Debuggers/GdbData.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/uppsrc/Core/Hash.cpp b/uppsrc/Core/Hash.cpp index 99cac1736..61bddfbab 100644 --- a/uppsrc/Core/Hash.cpp +++ b/uppsrc/Core/Hash.cpp @@ -134,7 +134,7 @@ void HashBase::Drop(int n) void HashBase::FinishIndex() { int q = link.GetCount(); - link.Reserve(hash.GetAlloc()); + link.Reserve(hash.GetCount()); link.AddN(hash.GetCount() - q); for(int i = q; i < hash.GetCount(); i++) LinkTo(i, link[i], hash[i] & UNSIGNED_HIBIT ? unlinked : Mapi(i)); diff --git a/uppsrc/ide/Builders/GccBuilder.cpp b/uppsrc/ide/Builders/GccBuilder.cpp index f020f028b..22c548efc 100644 --- a/uppsrc/ide/Builders/GccBuilder.cpp +++ b/uppsrc/ide/Builders/GccBuilder.cpp @@ -433,7 +433,7 @@ bool GccBuilder::BuildPackage(const String& package, Vector& linkfile, V DeleteFile(libF); DeleteFile(linkF); } - #endif +#endif return false; } #ifdef PLATFORM_POSIX diff --git a/uppsrc/ide/Debuggers/GdbData.cpp b/uppsrc/ide/Debuggers/GdbData.cpp index 962c73dad..5b988656c 100644 --- a/uppsrc/ide/Debuggers/GdbData.cpp +++ b/uppsrc/ide/Debuggers/GdbData.cpp @@ -5,7 +5,7 @@ void SkipGdbInfo(CParser& p) { int level = 1; - while(level > 0) + while(level > 0 && !p.IsEof()) if(p.Char('<')) level++; else