mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-22 12:34:19 +00:00
BUGFIX: Fixed possible crash when parsing filter file
This commit is contained in:
parent
17e0700a52
commit
f1ca41a5c5
@ -3,6 +3,8 @@
|
|||||||
- BUGFIX: qBittorrent now prints backtrace in terminal when segfaulting
|
- BUGFIX: qBittorrent now prints backtrace in terminal when segfaulting
|
||||||
- BUGFIX: Fixed files progress display in torrent properties
|
- BUGFIX: Fixed files progress display in torrent properties
|
||||||
- BUGFIX: Improved torrent ratio calculation
|
- BUGFIX: Improved torrent ratio calculation
|
||||||
|
- BUGFIX: Fixed possible crash when parsing filter file
|
||||||
|
- BUGFIX: Made some code optimization
|
||||||
- I18N: Updated Bulgarian and Greek translations
|
- I18N: Updated Bulgarian and Greek translations
|
||||||
|
|
||||||
* Fri Jan 9 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.3.0
|
* Fri Jan 9 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.3.0
|
||||||
|
@ -178,22 +178,26 @@ class FilterParserThread : public QThread {
|
|||||||
}
|
}
|
||||||
// Now Add to the filter
|
// Now Add to the filter
|
||||||
QStringList IP;
|
QStringList IP;
|
||||||
if(IPv4) {
|
try {
|
||||||
//IPv4 addresses
|
if(IPv4) {
|
||||||
IP = strStartIP.split('.');
|
//IPv4 addresses
|
||||||
address_v4 start((IP.at(0).toInt() << 24) + (IP.at(1).toInt() << 16) + (IP.at(2).toInt() << 8) + IP.at(3).toInt());
|
IP = strStartIP.split('.');
|
||||||
IP = strEndIP.split('.');
|
address_v4 start((IP.at(0).toInt() << 24) + (IP.at(1).toInt() << 16) + (IP.at(2).toInt() << 8) + IP.at(3).toInt());
|
||||||
address_v4 last((IP.at(0).toInt() << 24) + (IP.at(1).toInt() << 16) + (IP.at(2).toInt() << 8) + IP.at(3).toInt());
|
IP = strEndIP.split('.');
|
||||||
// Apply to bittorrent session
|
address_v4 last((IP.at(0).toInt() << 24) + (IP.at(1).toInt() << 16) + (IP.at(2).toInt() << 8) + IP.at(3).toInt());
|
||||||
filter.add_rule(start, last, ip_filter::blocked);
|
// Apply to bittorrent session
|
||||||
} else {
|
filter.add_rule(start, last, ip_filter::blocked);
|
||||||
// IPv6, ex : 1fff:0000:0a88:85a3:0000:0000:ac1f:8001
|
} else {
|
||||||
IP = strStartIP.split(':');
|
// IPv6, ex : 1fff:0000:0a88:85a3:0000:0000:ac1f:8001
|
||||||
address_v6 start = address_v6::from_string(strStartIP.remove(':', 0).toUtf8().data());
|
IP = strStartIP.split(':');
|
||||||
IP = strEndIP.split(':');
|
address_v6 start = address_v6::from_string(strStartIP.remove(':', 0).toUtf8().data());
|
||||||
address_v6 last = address_v6::from_string(strEndIP.remove(':', 0).toUtf8().data());
|
IP = strEndIP.split(':');
|
||||||
// Apply to bittorrent session
|
address_v6 last = address_v6::from_string(strEndIP.remove(':', 0).toUtf8().data());
|
||||||
filter.add_rule(start, last, ip_filter::blocked);
|
// Apply to bittorrent session
|
||||||
|
filter.add_rule(start, last, ip_filter::blocked);
|
||||||
|
}
|
||||||
|
}catch(exception){
|
||||||
|
qDebug("Bad line in filter file, avoided crash...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file.close();
|
file.close();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user