[omniORB] Is this a memory leak?

Preston, Ralph A. rpreston at mitre.org
Thu Oct 22 10:47:02 BST 2009


Hello,

Could someone please explain why this is, or isn't, a memory leak. I'm writing this from memory, so if there are any errors (besides the one I'm about to describe) it's due to my faulty memory. As is, the code runs correctly, but I thought I'd have to uncomment line 28 to remove a memory leak, however, when I do that the server crashes.  Thanks!

 1      // Begin IDL
 2
 3      struct FileData {
 4        string name;
 5      };
 6
 7      typedef sequence<FileData> FileList;
 8
 9      boolean GetFileList( out FileList list );
10
11      // End IDL
12
13      // BaseClass.cpp
14      ::CORBA::Boolean BaseClass::GetFileList( FileList_out list )
15      {
16          list = new FileList();
17          list->length(1);
18          (*list)[0].name = CORBA::string_dup("BaseClassFile.txt");
19          return 1;
20      }
21      // End BaseClass.cpp
22
23
24      // ChildClass.cpp
25      ::CORBA::Boolean ChildClass::GetFileList( FileList_out list )
26      {
27          BaseClass::GetFileList(list);
28          //CORBA::string_free((*list)[0].name);
29          (*list)[0].name = CORBA::string_dup("ChildClassFile.txt");
30          return 1;
31      }
32      // End ChildClass.cpp


Ralph A. Preston
The MITRE Corporation
202 Burlington Road, MS E095
Bedford, MA 01730
Office: 781-271-7914  Fax: 781-271-8915  Cell: 617-335-2226




More information about the omniORB-list mailing list