vec-iree: fix status print syntax

Reflect the change in https://github.com/google/iree/pull/6809.
Also fix one condition check bug to make sure we don't dereference
a NULL pointer.

Change-Id: Ie3a3572d75a59f5aa6008d8daf697ce36686de1c
diff --git a/samples/simple_vec_mul/simple_vec_mul.c b/samples/simple_vec_mul/simple_vec_mul.c
index a2951ea..1ef2188 100644
--- a/samples/simple_vec_mul/simple_vec_mul.c
+++ b/samples/simple_vec_mul/simple_vec_mul.c
@@ -120,15 +120,16 @@
                             iree_allocator_system());
   }
 
-  // Get the result buffers from the invocation.
-  iree_hal_buffer_view_t *ret_buffer_view =
-      (iree_hal_buffer_view_t *)iree_vm_list_get_ref_deref(
-          outputs, 0, iree_hal_buffer_view_get_descriptor());
-  if (ret_buffer_view == NULL) {
-    result = iree_make_status(IREE_STATUS_NOT_FOUND,
-                              "can't find return buffer view");
+  iree_hal_buffer_view_t *ret_buffer_view = NULL;
+  if (iree_status_is_ok(result)) {
+    // Get the result buffers from the invocation.
+    ret_buffer_view = (iree_hal_buffer_view_t *)iree_vm_list_get_ref_deref(
+        outputs, 0, iree_hal_buffer_view_get_descriptor());
+    if (ret_buffer_view == NULL) {
+      result = iree_make_status(IREE_STATUS_NOT_FOUND,
+                                "can't find return buffer view");
+    }
   }
-
   // Read back the results and ensure we got the right values.
   iree_hal_buffer_mapping_t mapped_memory;
   if (iree_status_is_ok(result)) {
@@ -155,11 +156,7 @@
   const iree_status_t result = run();
   int ret = (int)iree_status_code(result);
   if (!iree_status_is_ok(result)) {
-    char *status_buffer = NULL;
-    iree_host_size_t status_buffer_length = 0;
-    iree_status_to_string(result, &status_buffer, &status_buffer_length);
-    LOG_ERROR("%.*s", (int)status_buffer_length, status_buffer);
-    free(status_buffer);
+    iree_status_fprint(stderr, result);
     iree_status_free(result);
   } else {
     LOG_INFO("simple_vec_mul finished successfully");