Move adb's selinux_android_restorecon up and check for failures.

Change-Id: Ib3ff282cf52df03f3b9a0abecf0abda99d7df641
diff --git a/adb/file_sync_service.cpp b/adb/file_sync_service.cpp
index 214cead..6ca8ba1 100644
--- a/adb/file_sync_service.cpp
+++ b/adb/file_sync_service.cpp
@@ -166,9 +166,14 @@
             goto fail;
         }
 
-         // fchown clears the setuid bit - restore it if present.
-         // Ignore the result of calling fchmod. It's not supported
-         // by all filesystems. b/12441485
+        if (selinux_android_restorecon(path, 0) == -1) {
+            SendSyncFailErrno(s, "selinux_android_restorecon failed");
+            goto fail;
+        }
+
+        // fchown clears the setuid bit - restore it if present.
+        // Ignore the result of calling fchmod. It's not supported
+        // by all filesystems. b/12441485
         fchmod(fd, mode);
     }
 
@@ -201,8 +206,6 @@
 
     adb_close(fd);
 
-    selinux_android_restorecon(path, 0);
-
     utimbuf u;
     u.actime = timestamp;
     u.modtime = timestamp;