diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp
index 6f5d49d..a5674a5 100644
--- a/gm/gmmain.cpp
+++ b/gm/gmmain.cpp
@@ -1895,6 +1895,7 @@
                            " Config will be skipped.\n", gRec[index].fName);
                 configs.remove(i);
                 --i;
+                continue;
             }
             if (gRec[index].fSampleCnt > ctx->getMaxSampleCount()) {
                 gm_fprintf(stderr, "Sample count (%d) of config %s is not supported."
diff --git a/src/gpu/gl/GrGLExtensions.cpp b/src/gpu/gl/GrGLExtensions.cpp
index 633796d..e886aff 100644
--- a/src/gpu/gl/GrGLExtensions.cpp
+++ b/src/gpu/gl/GrGLExtensions.cpp
@@ -66,7 +66,7 @@
             extensions += length;
         }
     }
-    if (0 != fStrings.count()) {
+    if (!fStrings.empty()) {
         SkTLessFunctionToFunctorAdaptor<SkString, extension_compare> cmp;
         SkTQSort(&fStrings.front(), &fStrings.back(), cmp);
     }
@@ -74,6 +74,9 @@
 }
 
 bool GrGLExtensions::has(const char* ext) const {
+    if (fStrings.empty()) {
+        return false;
+    }
     SkString extensionStr(ext);
     int idx = SkTSearch<SkString, extension_compare>(&fStrings.front(),
                                                      fStrings.count(),
