Handle malformed gif streams more gracefully

Change-Id: I2ea934b90d73e1431fb3df9ff793aa8ff2033099
diff --git a/framesequence/jni/FrameSequence.cpp b/framesequence/jni/FrameSequence.cpp
index 5c34425..efcfefa 100644
--- a/framesequence/jni/FrameSequence.cpp
+++ b/framesequence/jni/FrameSequence.cpp
@@ -20,5 +20,16 @@
 
 FrameSequence* FrameSequence::create(Stream* stream) {
     const RegistryEntry* entry = Registry::Find(stream);
-    return entry ? entry->createFrameSequence(stream) : 0;
+
+    if (!entry) return NULL;
+
+    FrameSequence* frameSequence = entry->createFrameSequence(stream);
+    if (!frameSequence->getFrameCount() ||
+            !frameSequence->getWidth() || !frameSequence->getHeight()) {
+        // invalid contents, abort
+        delete frameSequence;
+        return NULL;
+    }
+
+    return frameSequence;
 }