diff --git a/src/json.hpp b/src/json.hpp
index c312dfbb..40c7e63a 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -9986,7 +9986,7 @@ class basic_json
                 }
                 else
                 {
-                    vec[i] = static_cast<uint8_t>(current);
+                    vec[i] = static_cast<uint8_t>(current);  // LCOV_EXCL_LINE
                 }
             }
 
@@ -10744,7 +10744,7 @@ class basic_json
                 }
                 else
                 {
-                    oa->write_character(vec[i]);
+                    oa->write_character(vec[i]);  // LCOV_EXCL_LINE
                 }
             }
         }
diff --git a/test/src/unit-cbor.cpp b/test/src/unit-cbor.cpp
index debb3732..5638d490 100644
--- a/test/src/unit-cbor.cpp
+++ b/test/src/unit-cbor.cpp
@@ -1253,6 +1253,13 @@ TEST_CASE("CBOR")
                 }
             }
         }
+
+        SECTION("invalid string in map")
+        {
+            CHECK_THROWS_AS(json::from_cbor(std::vector<uint8_t>({0xa1, 0xff, 0x01})), json::parse_error);
+            CHECK_THROWS_WITH(json::from_cbor(std::vector<uint8_t>({0xa1, 0xff, 0x01})),
+                              "[json.exception.parse_error.113] parse error at 2: expected a CBOR string; last byte: 0xff");
+        }
     }
 }
 
diff --git a/test/src/unit-msgpack.cpp b/test/src/unit-msgpack.cpp
index a580913d..5b1c301d 100644
--- a/test/src/unit-msgpack.cpp
+++ b/test/src/unit-msgpack.cpp
@@ -1094,6 +1094,13 @@ TEST_CASE("MessagePack")
                 }
             }
         }
+
+        SECTION("invalid string in map")
+        {
+            CHECK_THROWS_AS(json::from_msgpack(std::vector<uint8_t>({0x81, 0xff, 0x01})), json::parse_error);
+            CHECK_THROWS_WITH(json::from_msgpack(std::vector<uint8_t>({0x81, 0xff, 0x01})),
+                              "[json.exception.parse_error.113] parse error at 2: expected a MessagePack string; last byte: 0xff");
+        }
     }
 }