summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2020-04-07 09:05:07 +0200
committerAndras Timar <andras.timar@collabora.com>2020-04-10 18:20:19 +0200
commit538265a7447b6ee6167d21a47d9dad05afa3f818 (patch)
treedbd6c90c6467fc84538ab2364da11507a51c06f5
parent54aed2d189efe3f4006821a58ae269777dda17d0 (diff)
admin console: fix handling of out of range kill parameter
Catch that, similar to when handling an invalid argument. (cherry picked from commit 946fa38a22e2e90965392446a559c78c87d92219) Change-Id: I7405355f0b962673069dbd33dbab8c9e3042c4bf Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91973 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
-rw-r--r--fuzzer/admin-data/crash-6ba2f7189a6447cd0cce37cfa1c41ded6244dc2fbin0 -> 565 bytes
-rw-r--r--wsd/Admin.cpp6
2 files changed, 5 insertions, 1 deletions
diff --git a/fuzzer/admin-data/crash-6ba2f7189a6447cd0cce37cfa1c41ded6244dc2f b/fuzzer/admin-data/crash-6ba2f7189a6447cd0cce37cfa1c41ded6244dc2f
new file mode 100644
index 000000000..1468abd9e
--- /dev/null
+++ b/fuzzer/admin-data/crash-6ba2f7189a6447cd0cce37cfa1c41ded6244dc2f
Binary files differ
diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp
index 915c9d073..c8d497e0a 100644
--- a/wsd/Admin.cpp
+++ b/wsd/Admin.cpp
@@ -170,7 +170,11 @@ void AdminSocketHandler::handleMessage(bool /* fin */, WSOpCode /* code */,
}
catch (std::invalid_argument& exc)
{
- LOG_WRN("Invalid PID to kill: " << tokens[1]);
+ LOG_WRN("Invalid PID to kill (invalid argument): " << tokens[1]);
+ }
+ catch (std::out_of_range& exc)
+ {
+ LOG_WRN("Invalid PID to kill (out of range): " << tokens[1]);
}
}
else if (tokens[0] == "settings")