Handle network indices out of range

Check that getting the network succeeds before parsing the the buffer to
avoid hardfault.

Change-Id: I582412fb0e7459bf45fdb790df2d48401c1a2d0b
diff --git a/applications/message_handler/message_handler.cpp b/applications/message_handler/message_handler.cpp
index f109dc8..4a3938e 100644
--- a/applications/message_handler/message_handler.cpp
+++ b/applications/message_handler/message_handler.cpp
@@ -383,12 +383,16 @@
 
     void *buffer;
     size_t size;
-    getNetwork(network, buffer, size);
-    bool failed = parser.parseModel(buffer,
-                                    rsp.desc,
-                                    InferenceProcess::makeArray(rsp.ifm_size, rsp.ifm_count, ETHOSU_CORE_BUFFER_MAX),
-                                    InferenceProcess::makeArray(rsp.ofm_size, rsp.ofm_count, ETHOSU_CORE_BUFFER_MAX));
-    rsp.status  = failed ? ETHOSU_CORE_STATUS_ERROR : ETHOSU_CORE_STATUS_OK;
+
+    bool failed = getNetwork(network, buffer, size);
+
+    if (!failed) {
+        failed = parser.parseModel(buffer,
+                                   rsp.desc,
+                                   InferenceProcess::makeArray(rsp.ifm_size, rsp.ifm_count, ETHOSU_CORE_BUFFER_MAX),
+                                   InferenceProcess::makeArray(rsp.ofm_size, rsp.ofm_count, ETHOSU_CORE_BUFFER_MAX));
+    }
+    rsp.status = failed ? ETHOSU_CORE_STATUS_ERROR : ETHOSU_CORE_STATUS_OK;
 
     if (!outputMessageQueue.write(ETHOSU_CORE_MSG_NETWORK_INFO_RSP, rsp)) {
         printf("ERROR: Msg: Failed to write network info response. No mailbox message sent\n");