From c9d988e87b143efb85f55a390627a8ba6d2842d5 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Sat, 22 Aug 2015 00:39:28 -0400 Subject: [PATCH] Fixed an error in modes parsing which caused infinite looping (previously unnoticed due to strings containing a null terminator). --- Jupiter/IRC_Client.cpp | 2 +- Release/Jupiter.lib | Bin 283128 -> 283128 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Jupiter/IRC_Client.cpp b/Jupiter/IRC_Client.cpp index 57b5dff..6f281b1 100644 --- a/Jupiter/IRC_Client.cpp +++ b/Jupiter/IRC_Client.cpp @@ -1132,7 +1132,7 @@ int Jupiter::IRC::Client::primaryHandler() Jupiter::ReferenceString tword; unsigned char g = 0; char symb = 0; - for (uint8_t z = 0; modes[z] != 0; z++) + for (uint8_t z = 0; z != modes.size(); z++) { if (modes[z] == '+' || modes[z] == '-') symb = modes[z]; diff --git a/Release/Jupiter.lib b/Release/Jupiter.lib index 1672eeee343c3a6be5ea7390585c55d11e81f7bf..60cb0953c84e138a5b2f2a581c3e28b48513dac7 100644 GIT binary patch delta 21107 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 XuEJIGTz!F2&B_&2u2qlZ+EM=pcESDG delta 21093 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 KRgdJ^QU3=?@D