fix skslc crashes uncovered by fuzz testing

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2413423003

Review-Url: https://codereview.chromium.org/2413423003
diff --git a/src/sksl/SkSLParser.cpp b/src/sksl/SkSLParser.cpp
index 9e3e847..d011d46 100644
--- a/src/sksl/SkSLParser.cpp
+++ b/src/sksl/SkSLParser.cpp
@@ -808,17 +808,26 @@
         case Token::SEMICOLON: 
             this->nextToken();
             break;
-        case Token::CONST:
+        case Token::CONST: {
+            std::unique_ptr<ASTVarDeclarations> vd = this->varDeclarations();
+            if (!vd) {
+                return nullptr;
+            }
             initializer = std::unique_ptr<ASTStatement>(new ASTVarDeclarationStatement(
-                                                                          this->varDeclarations()));
+                                                                                    std::move(vd)));
             break;
-        case Token::IDENTIFIER: 
+        }
+        case Token::IDENTIFIER: {
             if (this->isType(nextToken.fText)) {
+                std::unique_ptr<ASTVarDeclarations> vd = this->varDeclarations();
+                if (!vd) {
+                    return nullptr;
+                }
                 initializer = std::unique_ptr<ASTStatement>(new ASTVarDeclarationStatement(
-                                                                          this->varDeclarations()));
+                                                                                    std::move(vd)));
                 break;
             }
-            // fall through
+        } // fall through
         default:
             initializer = this->expressionStatement();
     }