Skip to content

Commit 16d4eb2

Browse files
Fix memory leak
1 parent 1d9a00c commit 16d4eb2

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

src/architecture/messaging/messaging.h

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,33 +36,30 @@ typedef struct messagePointerData messagePointerData;
3636
class MessageBase{
3737
public:
3838
messagePointerData pointers;
39-
messagePointerData *reference;
39+
messagePointerData reference;
4040

4141
messagePointerData *GetPointers(void)
4242
{
43-
this->reference = (messagePointerData*)malloc(sizeof(messagePointerData));
44-
this->reference->payload = pointers.payload;
45-
this->reference->header = pointers.header;
46-
47-
return this->reference;
43+
reference.payload = pointers.payload;
44+
reference.header = pointers.header;
45+
return &reference;
4846
}
4947
};
5048

5149
class ReadFunctorBase{
5250
public :
5351
void *headerVoidPtr; //! TODO: kludge to fix PITL, do we want to keep this member?
5452
void *payloadVoidPtr;
55-
messagePointerData *reference;
53+
messagePointerData reference;
5654

5755
//! constructor
58-
ReadFunctorBase() : headerVoidPtr(NULL), payloadVoidPtr(NULL), reference(NULL) {};
56+
ReadFunctorBase() : headerVoidPtr(NULL), payloadVoidPtr(NULL) {}
5957

6058
messagePointerData *GetPointers(void)
6159
{
62-
this->reference = (messagePointerData*)malloc(sizeof(messagePointerData));
63-
this->reference->header = this->headerVoidPtr;
64-
this->reference->payload = this->payloadVoidPtr;
65-
return this->reference;
60+
reference.header = headerVoidPtr;
61+
reference.payload = payloadVoidPtr;
62+
return &reference;
6663
}
6764

6865
};

0 commit comments

Comments
 (0)