Skip to content

Commit 16dfe2f

Browse files
committed
Respect refcounting before freeing dynamically allocated variables
1 parent da73ce2 commit 16dfe2f

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/utility/GATT.cpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,21 @@ void GATTClass::begin()
7070

7171
void GATTClass::end()
7272
{
73-
delete(_genericAccessService);
74-
delete(_deviceNameCharacteristic);
75-
delete(_appearanceCharacteristic);
76-
delete(_genericAttributeService);
77-
delete(_servicesChangedCharacteristic);
73+
if (_genericAccessService->release() <= 0)
74+
delete(_genericAccessService);
75+
76+
if (_deviceNameCharacteristic->release() <= 0)
77+
delete(_deviceNameCharacteristic);
78+
79+
if (_appearanceCharacteristic->release() <= 0)
80+
delete(_appearanceCharacteristic);
81+
82+
if (_genericAttributeService->release() <= 0)
83+
delete(_genericAttributeService);
84+
85+
if (_servicesChangedCharacteristic->release() <= 0)
86+
delete(_servicesChangedCharacteristic);
87+
7888
clearAttributes();
7989
}
8090

0 commit comments

Comments
 (0)