diff options
author | creator1creeper1 <creator1creeper1@airmail.cc> | 2021-12-25 17:24:23 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-12-30 14:37:02 +0100 |
commit | dfaa6c910cda9fd49e681f10c7efbabed74ef0a6 (patch) | |
tree | e9287a06b105cbdb8654d4297d7c05b19304d8fe | |
parent | 575a8e6487b785d3c4b3e7666ce3c1e34cdb726c (diff) | |
download | serenity-dfaa6c910cda9fd49e681f10c7efbabed74ef0a6.zip |
Utilities/lsusb: Propagate errors in JSON decoding
-rw-r--r-- | Userland/Utilities/lsusb.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Userland/Utilities/lsusb.cpp b/Userland/Utilities/lsusb.cpp index 5ae4e2f3f4..f8801208d9 100644 --- a/Userland/Utilities/lsusb.cpp +++ b/Userland/Utilities/lsusb.cpp @@ -46,7 +46,12 @@ ErrorOr<int> serenity_main(Main::Arguments arguments) } auto contents = proc_usb_device->read_all(); - auto json = JsonValue::from_string(contents).release_value_but_fixme_should_propagate_errors(); + auto json_or_error = JsonValue::from_string(contents); + if (json_or_error.is_error()) { + warnln("Failed to decode JSON: {}", json_or_error.error()); + continue; + } + auto json = json_or_error.release_value(); json.as_array().for_each([usb_db](auto& value) { auto& device_descriptor = value.as_object(); |