diff --git a/mfbt/Span.h b/mfbt/Span.h
index 8a8f2041bdaa5b42dfbc7aa61ab7f522c2d3a75c..bcbd492d35edbb02fb2a64b7bf60af8a02f3d1c7 100644
--- a/mfbt/Span.h
+++ b/mfbt/Span.h
@@ -105,7 +105,7 @@ class span_iterator {
  public:
   using iterator_category = std::random_access_iterator_tag;
   using value_type = std::remove_const_t<element_type_>;
-  using difference_type = typename SpanT::index_type;
+  using difference_type = ptrdiff_t;
 
   using reference =
       std::conditional_t<IsConst, const element_type_, element_type_>&;
diff --git a/mfbt/tests/gtest/TestSpan.cpp b/mfbt/tests/gtest/TestSpan.cpp
index 405a87ee2cf7d9dde045fa56fcb953c30488d01b..c5f04db0ddbd94601084a850d001167ae15cbcea 100644
--- a/mfbt/tests/gtest/TestSpan.cpp
+++ b/mfbt/tests/gtest/TestSpan.cpp
@@ -1630,16 +1630,16 @@ SPAN_TEST(begin_end) {
     ASSERT_NE(it, beyond);
     CHECK_THROW(*beyond, fail_fast);
 
-    ASSERT_EQ(beyond - first, 4U);
-    ASSERT_EQ(first - first, 0U);
-    ASSERT_EQ(beyond - beyond, 0U);
+    ASSERT_EQ(beyond - first, 4);
+    ASSERT_EQ(first - first, 0);
+    ASSERT_EQ(beyond - beyond, 0);
 
     ++it;
-    ASSERT_EQ(it - first, 1U);
+    ASSERT_EQ(it - first, 1);
     ASSERT_EQ(*it, 2);
     *it = 22;
     ASSERT_EQ(*it, 22);
-    ASSERT_EQ(beyond - it, 3U);
+    ASSERT_EQ(beyond - it, 3);
 
     it = first;
     ASSERT_EQ(it, first);
@@ -1649,7 +1649,7 @@ SPAN_TEST(begin_end) {
     }
 
     ASSERT_EQ(it, beyond);
-    ASSERT_EQ(it - beyond, 0U);
+    ASSERT_EQ(it - beyond, 0);
 
     for (auto& n : s) {
       ASSERT_EQ(n, 5);
@@ -1685,14 +1685,14 @@ SPAN_TEST(cbegin_cend) {
     ASSERT_NE(it, beyond);
     CHECK_THROW(*beyond, fail_fast);
 
-    ASSERT_EQ(beyond - first, 4U);
-    ASSERT_EQ(first - first, 0U);
-    ASSERT_EQ(beyond - beyond, 0U);
+    ASSERT_EQ(beyond - first, 4);
+    ASSERT_EQ(first - first, 0);
+    ASSERT_EQ(beyond - beyond, 0);
 
     ++it;
-    ASSERT_EQ(it - first, 1U);
+    ASSERT_EQ(it - first, 1);
     ASSERT_EQ(*it, 2);
-    ASSERT_EQ(beyond - it, 3U);
+    ASSERT_EQ(beyond - it, 3);
 
     int last = 0;
     it = first;
@@ -1705,7 +1705,7 @@ SPAN_TEST(cbegin_cend) {
     }
 
     ASSERT_EQ(it, beyond);
-    ASSERT_EQ(it - beyond, 0U);
+    ASSERT_EQ(it - beyond, 0);
   }
 }
 
@@ -1723,16 +1723,16 @@ SPAN_TEST(rbegin_rend) {
     ASSERT_NE(it, beyond);
     CHECK_THROW(*beyond, fail_fast);
 
-    ASSERT_EQ(beyond - first, 4U);
-    ASSERT_EQ(first - first, 0U);
-    ASSERT_EQ(beyond - beyond, 0U);
+    ASSERT_EQ(beyond - first, 4);
+    ASSERT_EQ(first - first, 0);
+    ASSERT_EQ(beyond - beyond, 0);
 
     ++it;
-    ASSERT_EQ(it - first, 1U);
+    ASSERT_EQ(it - first, 1);
     ASSERT_EQ(*it, 3);
     *it = 22;
     ASSERT_EQ(*it, 22);
-    ASSERT_EQ(beyond - it, 3U);
+    ASSERT_EQ(beyond - it, 3);
 
     it = first;
     ASSERT_EQ(it, first);
@@ -1742,7 +1742,7 @@ SPAN_TEST(rbegin_rend) {
     }
 
     ASSERT_EQ(it, beyond);
-    ASSERT_EQ(it - beyond, 0U);
+    ASSERT_EQ(it - beyond, 0);
 
     for (auto& n : s) {
       ASSERT_EQ(n, 5);
@@ -1764,14 +1764,14 @@ SPAN_TEST(crbegin_crend) {
     ASSERT_NE(it, beyond);
     CHECK_THROW(*beyond, fail_fast);
 
-    ASSERT_EQ(beyond - first, 4U);
-    ASSERT_EQ(first - first, 0U);
-    ASSERT_EQ(beyond - beyond, 0U);
+    ASSERT_EQ(beyond - first, 4);
+    ASSERT_EQ(first - first, 0);
+    ASSERT_EQ(beyond - beyond, 0);
 
     ++it;
-    ASSERT_EQ(it - first, 1U);
+    ASSERT_EQ(it - first, 1);
     ASSERT_EQ(*it, 3);
-    ASSERT_EQ(beyond - it, 3U);
+    ASSERT_EQ(beyond - it, 3);
 
     it = first;
     ASSERT_EQ(it, first);
@@ -1784,7 +1784,7 @@ SPAN_TEST(crbegin_crend) {
     }
 
     ASSERT_EQ(it, beyond);
-    ASSERT_EQ(it - beyond, 0U);
+    ASSERT_EQ(it - beyond, 0);
   }
 }
 
diff --git a/netwerk/dns/DNSPacket.cpp b/netwerk/dns/DNSPacket.cpp
index 4d28889294829dbbf8978f9b26c1459a6a00af05..1822e396ca41f7c8488604b17bfb01e9c16fd329 100644
--- a/netwerk/dns/DNSPacket.cpp
+++ b/netwerk/dns/DNSPacket.cpp
@@ -1177,7 +1177,7 @@ bool ODoHDNSPacket::ParseODoHConfigs(Span<const uint8_t> aData,
   }
 
   nsTArray<ObliviousDoHConfig> result;
-  static const uint32_t kMinimumConfigContentLength = 12;
+  static const int kMinimumConfigContentLength = 12;
   while (std::distance(it, aData.cend()) > kMinimumConfigContentLength) {
     ObliviousDoHConfig config;
     if (!get16bit(aData, it, config.mVersion)) {