[lttng-dev] [PATCH lttng-ust 1/2] Fix: lttng-gen-tp: only replace file extension

Jonathan Rajotte jonathan.rajotte-julien at efficios.com
Tue Sep 19 16:08:33 UTC 2017


Previous replace was done on the complete path. A path containing
.c or .o would result in a corrupted file path.

Reported-by: Gunnar Strand <Gunnar.Strand at ericsson.com>
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien at efficios.com>
---
 tools/lttng-gen-tp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/lttng-gen-tp b/tools/lttng-gen-tp
index b62cd990..6aa1bba1 100755
--- a/tools/lttng-gen-tp
+++ b/tools/lttng-gen-tp
@@ -79,7 +79,9 @@ class CFile:
     def write(self):
         outputFile = open(self.outputFilename,"w")
 
-        headerFilename = self.outputFilename.replace(".c",".h")
+        headerFilename = self.outputFilename
+        if headerFilename.endswith(".c"):
+            headerFilename = headerFilename[:-2] + ".h"
 
         outputFile.write(CFile.FILE_TPL.format(
                                            headerFilename = headerFilename))
@@ -126,7 +128,10 @@ class ObjFile:
         return cc
 
     def write(self):
-        cFilename = self.outputFilename.replace(".o",".c")
+        cFilename = self.outputFilename
+        if cFilename.endswith(".o"):
+            cFilename = cFilename[:-2] + ".c"
+
         cc = self._detectCC()
         if cc == "":
             raise RuntimeError("No C Compiler detected")
-- 
2.11.0



More information about the lttng-dev mailing list