diff options
author | Allen Martin <amartin@nvidia.com> | 2012-12-07 10:28:41 -0800 |
---|---|---|
committer | Allen Martin <amartin@nvidia.com> | 2012-12-07 12:48:59 -0800 |
commit | 7bc30bf21aab6bb50bcf6636a049edba8a85c44a (patch) | |
tree | af31f00fabe29207f02ce60ab58e1dd806ab78af | |
parent | 8e815ee21d38e3197230d98ec08fa8309e1513a5 (diff) | |
download | tegrarcm-7bc30bf21aab6bb50bcf6636a049edba8a85c44a.tar.gz |
Check return value of rcm_get_msg_len()
Add a check on the return value of rcm_get_msg_len() so if it fails
it isn't passed into usb_write().
Change-Id: I31aedf9f1dcde8aeed34b23a020e83dddd3179b6
Signed-off-by: Allen Martin <amartin@nvidia.com>
Reviewed-on: http://git-master/r/167827
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r-- | src/main.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -103,6 +103,7 @@ int main(int argc, char **argv) uint8_t *miniloader; uint32_t miniloader_size; uint32_t miniloader_entry; + int msg_len; static struct option long_options[] = { [OPT_BCT] = {"bct", 1, 0, 0}, @@ -206,7 +207,10 @@ int main(int argc, char **argv) rcm_create_msg(RCM_CMD_QUERY_RCM_VERSION, NULL, 0, NULL, 0, &msg_buff); // write query version message to device - ret = usb_write(usb, msg_buff, rcm_get_msg_len(msg_buff)); + msg_len = rcm_get_msg_len(msg_buff); + if (msg_len == 0) + error(1, EINVAL, "unknown message length"); + ret = usb_write(usb, msg_buff, msg_len); if (ret) error(1, errno, "write query version - USB transfer failure"); free(msg_buff); |