diff options
author | Mikael Olsson <mikael.olsson@arm.com> | 2023-08-07 17:42:18 +0200 |
---|---|---|
committer | Mikael Olsson <mikael.olsson@arm.com> | 2023-08-07 18:03:30 +0200 |
commit | 74c514a5b50a19197a64a86095bc0429188adcbe (patch) | |
tree | 7aa16ff8a1b8590c0a5b565228bd1ae518045db5 /applications | |
parent | ba8a4bf62f9c89afde25486037ed854b2bedb704 (diff) | |
download | ethos-u-core-software-74c514a5b50a19197a64a86095bc0429188adcbe.tar.gz |
The inference parser copies the description from the model using
strncpy, which will only add a null-terminator if the source string is
shorter than the destination. Otherwise, if the bytes copied are not
null-terminated, the destination is left without one.
To ensure that the description is always null-terminated, the last byte
of the description is now always overwritten with one.
Change-Id: I49c23acd12d661e1f5c37088dba2e37935f25fa5
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
Diffstat (limited to 'applications')
-rw-r--r-- | applications/inference_process/include/inference_parser.hpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/applications/inference_process/include/inference_parser.hpp b/applications/inference_process/include/inference_parser.hpp index 1ba8abf..1251648 100644 --- a/applications/inference_process/include/inference_parser.hpp +++ b/applications/inference_process/include/inference_parser.hpp @@ -80,7 +80,11 @@ public: if (model == nullptr) { return true; } - strncpy(description, model->description()->c_str(), sizeof(description)); + + // Depending on the src string, strncpy may not add a null-terminator + // so one is manually added at the end. + strncpy(description, model->description()->c_str(), S - 1); + description[S - 1] = '\0'; // Get input dimensions for first subgraph auto *subgraph = *model->subgraphs()->begin(); |