Fix typo in validation message (#3122)

diff --git a/source/val/validate_cfg.cpp b/source/val/validate_cfg.cpp
index acce1fb..43a6af7 100644
--- a/source/val/validate_cfg.cpp
+++ b/source/val/validate_cfg.cpp
@@ -769,7 +769,7 @@
                    << "Header block " << _.getIdName(block->id())
                    << " is contained in the " << construct_name
                    << " construct headed by " << _.getIdName(header->id())
-                   << ", but it's merge block " << _.getIdName(merge_id)
+                   << ", but its merge block " << _.getIdName(merge_id)
                    << " is not";
           }
         }
diff --git a/test/val/val_cfg_test.cpp b/test/val/val_cfg_test.cpp
index 22dd117..8d8de37 100644
--- a/test/val/val_cfg_test.cpp
+++ b/test/val/val_cfg_test.cpp
@@ -2076,7 +2076,7 @@
         getDiagnosticString(),
         HasSubstr("Header block 3[%if_head] is contained in the loop construct "
                   "headed "
-                  "by 2[%loop], but it's merge block 5[%if_merge] is not"));
+                  "by 2[%loop], but its merge block 5[%if_merge] is not"));
   } else {
     EXPECT_THAT(SPV_SUCCESS, ValidateInstructions());
   }
@@ -4147,7 +4147,7 @@
       getDiagnosticString(),
       HasSubstr(
           "Header block 3[%body] is contained in the loop construct headed by "
-          "1[%loop], but it's merge block 2[%continue] is not"));
+          "1[%loop], but its merge block 2[%continue] is not"));
 }
 
 TEST_F(ValidateCFG, ContinueCannotBeLoopMergeTarget) {
@@ -4184,7 +4184,7 @@
       getDiagnosticString(),
       HasSubstr(
           "Header block 3[%inner] is contained in the loop construct headed by "
-          "1[%loop], but it's merge block 2[%continue] is not"));
+          "1[%loop], but its merge block 2[%continue] is not"));
 }
 
 }  // namespace