Skip to content

Commit 58bebd5

Browse files
Fix memory leak
1 parent b5096b6 commit 58bebd5

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
@@ -35,33 +35,30 @@ struct messagePointerData{
3535
class MessageBase{
3636
public:
3737
messagePointerData pointers;
38-
messagePointerData *reference;
38+
messagePointerData reference;
3939

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

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

5654
//! constructor
57-
ReadFunctorBase() : headerVoidPtr(NULL), payloadVoidPtr(NULL), reference(NULL) {};
55+
ReadFunctorBase() : headerVoidPtr(NULL), payloadVoidPtr(NULL) {}
5856

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

6764
};

0 commit comments

Comments
 (0)