Add a missing NULL check before releasing a texture ref.

This causes a crash if the NV12 texture cache attempts to upload textures
for a frame with a NULL backing CVPixelBufferRef.

Bug: webrtc:10175
Change-Id: I6866dcde5ace745cbd95b762254294aa8406c2a5
Reviewed-on: https://webrtc-review.googlesource.com/c/115430
Commit-Queue: Chuck Hays <haysc@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26140}
diff --git a/sdk/objc/components/renderer/opengl/RTCNV12TextureCache.m b/sdk/objc/components/renderer/opengl/RTCNV12TextureCache.m
index 19213e5..aab62d4 100644
--- a/sdk/objc/components/renderer/opengl/RTCNV12TextureCache.m
+++ b/sdk/objc/components/renderer/opengl/RTCNV12TextureCache.m
@@ -60,8 +60,10 @@
       kCFAllocatorDefault, _textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, pixelFormat, width,
       height, pixelFormat, GL_UNSIGNED_BYTE, planeIndex, textureOut);
   if (ret != kCVReturnSuccess) {
-    CFRelease(*textureOut);
-    *textureOut = nil;
+    if (*textureOut) {
+      CFRelease(*textureOut);
+      *textureOut = nil;
+    }
     return NO;
   }
   NSAssert(CVOpenGLESTextureGetTarget(*textureOut) == GL_TEXTURE_2D,