SurfaceTexture: Fix a fence fd leak.

Bug: 6949010
Change-Id: I289992c964504b4fe5458dbd19b248a841ef043f
diff --git a/libs/gui/SurfaceTexture.cpp b/libs/gui/SurfaceTexture.cpp
index a2aca8f..6666081 100644
--- a/libs/gui/SurfaceTexture.cpp
+++ b/libs/gui/SurfaceTexture.cpp
@@ -327,9 +327,9 @@
 }
 
 void SurfaceTexture::setReleaseFence(int fenceFd) {
+    sp<Fence> fence(new Fence(fenceFd));
     if (fenceFd == -1 || mCurrentTexture == BufferQueue::INVALID_BUFFER_SLOT)
         return;
-    sp<Fence> fence(new Fence(fenceFd));
     if (!mEGLSlots[mCurrentTexture].mReleaseFence.get()) {
         mEGLSlots[mCurrentTexture].mReleaseFence = fence;
     } else {