Fix a user-after-free in a ValidationES unittest.

The State destructor was trying to unref a Program that had already
been deleted. Fix this by unbinding resources from State before we
exit the test.

BUG=554520

Change-Id: I2215b1e5d27a34a649572c8f81e96dfeef7e983e
Reviewed-on: https://chromium-review.googlesource.com/312977
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/validationES_unittest.cpp b/src/libANGLE/validationES_unittest.cpp
index 1b84c00..1b4a640 100644
--- a/src/libANGLE/validationES_unittest.cpp
+++ b/src/libANGLE/validationES_unittest.cpp
@@ -132,6 +132,11 @@
                                       &indexRange));
 
     texture->release();
+
+    state.setVertexArrayBinding(nullptr);
+    state.setDrawFramebufferBinding(nullptr);
+    state.setProgram(nullptr);
+
     SafeDelete(vertexArray);
     SafeDelete(framebuffer);
     SafeDelete(program);