layers: fix ShaderChecker hang on stage mismatch

validate_interface_between_stages was sometimes iterating past end of maps.
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 5b2076f..7125fc2 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -699,7 +699,7 @@
         auto a_first = a_at_end ? 0 : a_it->first;
         auto b_first = b_at_end ? 0 : b_it->first;
 
-        if (b_at_end || a_first < b_first) {
+        if (b_at_end || ((!a_at_end) && (a_first < b_first))) {
             log_msg(mdd(dev), VK_DBG_REPORT_WARN_BIT, VK_OBJECT_TYPE_DEVICE, /*dev*/0, 0, SHADER_CHECKER_OUTPUT_NOT_CONSUMED, "SC",
                     "%s writes to output location %d which is not consumed by %s", producer_name, a_first, consumer_name);
             a_it++;