[Mesa-dev] [PATCH 1/3] clover: fix _logs string creation

EdB edb+mesa at sigluy.net
Thu Aug 7 22:02:07 PDT 2014


compact::string is not \0 terminated.
size() need to be used for std::string creation
---
 src/gallium/state_trackers/clover/core/program.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/clover/core/program.cpp b/src/gallium/state_trackers/clover/core/program.cpp
index e09c3aa..3f504d5 100644
--- a/src/gallium/state_trackers/clover/core/program.cpp
+++ b/src/gallium/state_trackers/clover/core/program.cpp
@@ -61,9 +61,9 @@ program::build(const ref_vector<device> &devs, const char *opts) {
                                                 dev.ir_target(), build_opts(dev),
                                                 log));
             _binaries.insert({ &dev, module });
-            _logs.insert({ &dev, std::string(log.c_str()) });
+            _logs.insert({ &dev, std::string(log.c_str(), log.size()) });
          } catch (const build_error &) {
-            _logs.insert({ &dev, std::string(log.c_str()) });
+            _logs.insert({ &dev, std::string(log.c_str(), log.size()) });
             throw;
          }
       }
-- 
2.0.4



More information about the mesa-dev mailing list