libbinder: only set sm stability if non-null

These mark*Stability functions actually abort for the nullptr case, but
when SM crashes, we'll get a null proxy here, and aborts everywhere
(instead of waiting in other processes).

Bug: one flake in binder_parcel_fuzzer weeks ago and more recently,
    discovered in some failure logs from kaleshsingh@
Test: manual (with crash in flattenBinder in SM)
Change-Id: I89787127d836d18d343161881dff6b156c2dc482
diff --git a/libs/binder/ProcessState.cpp b/libs/binder/ProcessState.cpp
index 6f26450..b5e4dfe 100644
--- a/libs/binder/ProcessState.cpp
+++ b/libs/binder/ProcessState.cpp
@@ -124,14 +124,14 @@
 {
     sp<IBinder> context = getStrongProxyForHandle(0);
 
-    if (context == nullptr) {
-       ALOGW("Not able to get context object on %s.", mDriverName.c_str());
+    if (context) {
+        // The root object is special since we get it directly from the driver, it is never
+        // written by Parcell::writeStrongBinder.
+        internal::Stability::markCompilationUnit(context.get());
+    } else {
+        ALOGW("Not able to get context object on %s.", mDriverName.c_str());
     }
 
-    // The root object is special since we get it directly from the driver, it is never
-    // written by Parcell::writeStrongBinder.
-    internal::Stability::markCompilationUnit(context.get());
-
     return context;
 }