Hej,
Tänkte se hur mycket det skulle krävas för att kompilera telldus-core som 64-bitars samt att lägga till avallokerings funktionen (http://developer.telldus.se/ticket/66) när jag snubblade över filen trunk/telldus-core/driver/libtelldus-core/SettingsWinRegistry.cpp.
Det finns multipla minnesläckor i denna fil:
Rad 26: d = new privateVars();
saknar 'delete d' i destructor. Varför inte ha ett objektet i data-arean i stället för heapen?
Rad 170: Buff = new char[dwLength];
Buff pekar redan på allokerat minne från rad 163
Rad 235: Buff = new char[dwLength];
Buff pekar redan på allokerat minne från rad 231
Rad 240-241: 'delete Buff' saknas
Rad 324: Buff = new char[dwLength];
Buff pekar redan på allokerat minne från rad 317
Multipla minnesläckor - SettingsWinRegistry.cpp
Moderator: Telldus
Multipla minnesläckor - SettingsWinRegistry.cpp
Beyond Measure - mer än bara mätning: Rita regler grafiskt, styr enheter, skapa grafer, skicka/ta emot SMS, E-mail, 1-Wire, RFXtrx, Tellstick....
-
- Site Admin
- Posts: 2243
- Joined: Fri Mar 17, 2023 9:45 am
- Location: Lund
- Contact:
Re: Multipla minnesläckor - SettingsWinRegistry.cpp
Tack så mycket för detta. Har commitat detta till trunk men inte haft tid att testa genom ordentligt.
Settings-klassen har olika privata variabler beronde på plattform och använder därför "pimpl idiom"PerM wrote: Rad 26: d = new privateVars();
saknar 'delete d' i destructor. Varför inte ha ett objektet i data-arean i stället för heapen?
Micke Prag
Software
Telldus Technologies
Software
Telldus Technologies