aboutsummaryrefslogtreecommitdiffstats
path: root/components/devtools
diff options
context:
space:
mode:
authorTaym Haddadi <haddadi.taym@gmail.com>2024-09-07 22:58:16 +0200
committerGitHub <noreply@github.com>2024-09-07 20:58:16 +0000
commita43e296436e6d6f139b312bdcbe3dc03d1ab3c6a (patch)
tree4ebc0cd2d1cba1a997f8c43cfc11f48e8840188f /components/devtools
parent567c3185f8d42898e754f85a63b51ad32680972d (diff)
downloadservo-a43e296436e6d6f139b312bdcbe3dc03d1ab3c6a.tar.gz
servo-a43e296436e6d6f139b312bdcbe3dc03d1ab3c6a.zip
Fix devtool crashs after clicking `Enable connection prompt` (#33305)
* Fix devtool crashs after clicking Enable connection prompt Signed-off-by: Taym <haddadi.taym@gmail.com> * Use early error return Signed-off-by: Taym <haddadi.taym@gmail.com> --------- Signed-off-by: Taym <haddadi.taym@gmail.com>
Diffstat (limited to 'components/devtools')
-rw-r--r--components/devtools/actors/preference.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/components/devtools/actors/preference.rs b/components/devtools/actors/preference.rs
index cbf250a4269..10bb402cc2f 100644
--- a/components/devtools/actors/preference.rs
+++ b/components/devtools/actors/preference.rs
@@ -5,6 +5,7 @@
use std::collections::HashMap;
use std::net::TcpStream;
+use log::warn;
use serde::Serialize;
use serde_json::{Map, Value};
use servo_config::pref_util::PrefValue;
@@ -37,7 +38,10 @@ impl Actor for PreferenceActor {
stream: &mut TcpStream,
_id: StreamId,
) -> Result<ActorMessageStatus, ()> {
- let mut key = msg.get("value").unwrap().as_str().unwrap();
+ let Some(mut key) = msg.get("value").and_then(|v| v.as_str()) else {
+ warn!("PreferenceActor: handle_message: value is not a string");
+ return Ok(ActorMessageStatus::Ignored);
+ };
// Mapping to translate a Firefox preference name onto the corresponding Servo preference name
let pref_name_mapping: HashMap<&str, &str> =