Giacomo Gabrielli has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/13104

Change subject: arch: Fix unserialization of VectorReg value
......................................................................

arch: Fix unserialization of VectorReg value

Change-Id: Iba01ae60e10703877eae299ba924fa1f04a4a387
Signed-off-by: Giacomo Gabrielli <[email protected]>
---
M src/arch/generic/vec_reg.hh
1 file changed, 7 insertions(+), 2 deletions(-)



diff --git a/src/arch/generic/vec_reg.hh b/src/arch/generic/vec_reg.hh
index b68a588..d96ac1c 100644
--- a/src/arch/generic/vec_reg.hh
+++ b/src/arch/generic/vec_reg.hh
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 ARM Limited
+ * Copyright (c) 2015-2016, 2018 ARM Limited
  * All rights reserved
  *
  * The license below extends only to copyright in the software and shall
@@ -635,12 +635,17 @@
 inline bool
 to_number(const std::string& value, VecRegContainer<Sz>& v)
 {
+    assert(value.size() <= 2 * VecRegContainer<Sz>::SIZE);
     int i = 0;
-    while (i < Sz) {
+    while ((i << 1) < value.size()) {
         std::string byte = value.substr(i<<1, 2);
         v.template raw_ptr<uint8_t>()[i] = stoul(byte, 0, 16);
         i++;
     }
+    while (i < VecRegContainer<Sz>::SIZE) {
+        v.template raw_ptr<uint8_t>()[i] = 0;
+        i++;
+    }
     return true;
 }
 /** @} */

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/13104
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Iba01ae60e10703877eae299ba924fa1f04a4a387
Gerrit-Change-Number: 13104
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Gabrielli <[email protected]>
Gerrit-Reviewer: Gabor Dozsa <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to