aos: Fix undefined behaviour in flatbuffers/static_vector.h

When users call `FromData` with a null pointer, then we invoke
undefined behaviour in the `memcpy`.

    external/aos/aos/flatbuffers/static_vector.h:380:27: runtime error: null pointer passed as argument 2, which is declared to never be null

Rather than forcing all users to deal with this, it's easier for the
underlying code to deal with it.

Change-Id: I04771db11f31eb14c0213bdc50f75dbc5b651499
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/flatbuffers/static_vector.h b/aos/flatbuffers/static_vector.h
index 4ce49a7..05d6459 100644
--- a/aos/flatbuffers/static_vector.h
+++ b/aos/flatbuffers/static_vector.h
@@ -377,7 +377,10 @@
     // clear the buffer to zero.
     resize_inline(input_size, SetZero::kNo);
 
-    memcpy(inline_data(), input_data, size() * sizeof(InlineType));
+    if (input_size > 0) {
+      memcpy(inline_data(), CHECK_NOTNULL(input_data),
+             size() * sizeof(InlineType));
+    }
     return true;
   }