Add robustness for permissions errors to Surface APIs.

Test: Tested ag/14424498 via testHevcTranscodingWithFileDescriptor on
Test: flame - ab/builds/forrest/run/L38000000884507245

Bug: 184903653
Bug: 184112407
Change-Id: I94dcaa31edcf0f810c6cf69ca6e73277470fa51f
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index 2fc9d47..f4aa7b3 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -1268,8 +1268,11 @@
                 if (err == NO_ERROR) {
                     return NO_ERROR;
                 }
-                if (composerService()->authenticateSurfaceTexture(
-                        mGraphicBufferProducer)) {
+                sp<ISurfaceComposer> surfaceComposer = composerService();
+                if (surfaceComposer == nullptr) {
+                    return -EPERM; // likely permissions error
+                }
+                if (surfaceComposer->authenticateSurfaceTexture(mGraphicBufferProducer)) {
                     *value = 1;
                 } else {
                     *value = 0;