]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/hashcomp.cpp
Fix the 4-byte read madness discovered by psychon
[user/henk/code/inspircd.git] / src / hashcomp.cpp
index 1bcb538f6f499e37ba71788be1a9e9b7164f4cb7..18846737f1cf7a53b68f053858bafd19a714e2fb 100644 (file)
@@ -382,6 +382,9 @@ int irc::modestacker::GetStackedLine(std::deque<std::string> &result, int max_li
 
 irc::stringjoiner::stringjoiner(const std::string &seperator, const std::vector<std::string> &sequence, int begin, int end)
 {
+       if (end < begin)
+               throw "stringjoiner logic error, this causes problems.";
+
        for (int v = begin; v < end; v++)
                joined.append(sequence[v]).append(seperator);
        joined.append(sequence[end]);
@@ -389,6 +392,9 @@ irc::stringjoiner::stringjoiner(const std::string &seperator, const std::vector<
 
 irc::stringjoiner::stringjoiner(const std::string &seperator, const std::deque<std::string> &sequence, int begin, int end)
 {
+       if (end < begin)
+               throw "stringjoiner logic error, this causes problems.";
+
        for (int v = begin; v < end; v++)
                joined.append(sequence[v]).append(seperator);
        joined.append(sequence[end]);
@@ -396,6 +402,9 @@ irc::stringjoiner::stringjoiner(const std::string &seperator, const std::deque<s
 
 irc::stringjoiner::stringjoiner(const std::string &seperator, const char* const* sequence, int begin, int end)
 {
+       if (end < begin)
+               throw "stringjoiner logic error, this causes problems.";
+
        for (int v = begin; v < end; v++)
                joined.append(sequence[v]).append(seperator);
        joined.append(sequence[end]);