diff options
author | Taym Haddadi <haddadi.taym@gmail.com> | 2024-09-07 22:58:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-07 20:58:16 +0000 |
commit | a43e296436e6d6f139b312bdcbe3dc03d1ab3c6a (patch) | |
tree | 4ebc0cd2d1cba1a997f8c43cfc11f48e8840188f /components/devtools | |
parent | 567c3185f8d42898e754f85a63b51ad32680972d (diff) | |
download | servo-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.rs | 6 |
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> = |