Salome HOME
Avoid referencing memory of an automatic variable
authoreap <eap@opencascade.com>
Mon, 15 Oct 2012 14:27:55 +0000 (14:27 +0000)
committereap <eap@opencascade.com>
Mon, 15 Oct 2012 14:27:55 +0000 (14:27 +0000)
   struct StdParam
   {
-    const char* text() const { return myText.toLatin1().constData(); }
+    const char* text() const {
+      ((QByteArray&) myTextAsBytes) = myText.toLatin1(); return myTextAsBytes.constData();
+    }

src/SMESHGUI/SMESHGUI_Hypotheses.h

index c15484b84b3accbdf1891af22217c485ddf49273..bb5d9f8ac01c5e4d86aa97a1216cfe53e8f99d9d 100644 (file)
@@ -78,14 +78,17 @@ signals:
 protected:
   struct StdParam
   {
 protected:
   struct StdParam
   {
-    QString   myName;
-    QVariant  myValue;
-    bool      isVariable;
-    QString   myText;
-    StdParam(){
+    QString    myName;
+    QVariant   myValue;
+    bool       isVariable;
+    QString    myText;
+    QByteArray myTextAsBytes;
+    StdParam() {
       isVariable = false;
     }
       isVariable = false;
     }
-    const char* text() const { return myText.toLatin1().constData(); }
+    const char* text() const {
+      ((QByteArray&) myTextAsBytes) = myText.toLatin1(); return myTextAsBytes.constData();
+    }
   };
 
   typedef QList<StdParam>      ListOfStdParams;
   };
 
   typedef QList<StdParam>      ListOfStdParams;