diff --git a/Changelog b/Changelog index fb08aa4b9..978ffe4b4 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,6 @@ +* Unknown - Christophe DUMEZ - 1.3.5 + - BUGFIX: Made IP filter parser more robust + * Sun Jul 12 2009 - Christophe DUMEZ - v1.3.4 - BUGFIX: Fixed IP filter file parsing on 64bits - BUGFIX: Suppressed QLayout: Attempting to add QLayout "" to properties "properties" warning message when opening a properties dialog diff --git a/src/filterParserThread.h b/src/filterParserThread.h index 818d9f07b..8c3414984 100644 --- a/src/filterParserThread.h +++ b/src/filterParserThread.h @@ -191,8 +191,12 @@ class FilterParserThread : public QThread { if(IPv4) { //IPv4 addresses IP = strStartIP.split('.'); + if(IP.size() != 4) + throw exception(); address_v4 start((IP.at(0).toUInt() << 24) + (IP.at(1).toUInt() << 16) + (IP.at(2).toUInt() << 8) + IP.at(3).toUInt()); IP = strEndIP.split('.'); + if(IP.size() != 4) + throw exception(); address_v4 last((IP.at(0).toUInt() << 24) + (IP.at(1).toUInt() << 16) + (IP.at(2).toUInt() << 8) + IP.at(3).toUInt()); // Apply to bittorrent session filter.add_rule(start, last, ip_filter::blocked);