mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-05 05:39:22 +00:00
Reject an over-long line instead of truncating
getline sets failbit, which both loops read as end of input.
This commit is contained in:
@@ -319,6 +319,11 @@ apply_ipv4_filter_load(const torrent::Object::list_type& args) {
|
|||||||
ipv4_filter_parse(buffer, value);
|
ipv4_filter_parse(buffer, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (file.fail() && !file.eof()) {
|
||||||
|
lineNumber++;
|
||||||
|
throw torrent::input_error("Exceeded max line length.");
|
||||||
|
}
|
||||||
|
|
||||||
} catch (torrent::input_error& e) {
|
} catch (torrent::input_error& e) {
|
||||||
snprintf(buffer, 2048, "Error in ip filter file: %s:%u: %s", filename.c_str(), lineNumber, e.what());
|
snprintf(buffer, 2048, "Error in ip filter file: %s:%u: %s", filename.c_str(), lineNumber, e.what());
|
||||||
|
|
||||||
|
|||||||
@@ -181,6 +181,11 @@ parse_command_file(const std::string& path) {
|
|||||||
getCount = 0;
|
getCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (file.fail() && !file.eof()) {
|
||||||
|
lineNumber++;
|
||||||
|
throw torrent::input_error("Exceeded max line length.");
|
||||||
|
}
|
||||||
|
|
||||||
} catch (torrent::input_error& e) {
|
} catch (torrent::input_error& e) {
|
||||||
snprintf(buffer, 2048, "Error in option file: %s:%u: %s", path.c_str(), lineNumber, e.what());
|
snprintf(buffer, 2048, "Error in option file: %s:%u: %s", path.c_str(), lineNumber, e.what());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user