Multipla minnesläckor - SettingsWinRegistry.cpp

Moderator: Telldus

Post Reply
PerM
Posts: 58
Joined: Fri Mar 17, 2023 9:45 am
Contact:

Multipla minnesläckor - SettingsWinRegistry.cpp

Post by PerM »

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
Beyond Measure - mer än bara mätning: Rita regler grafiskt, styr enheter, skapa grafer, skicka/ta emot SMS, E-mail, 1-Wire, RFXtrx, Tellstick....
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Re: Multipla minnesläckor - SettingsWinRegistry.cpp

Post by micke.prag »

Tack så mycket för detta. Har commitat detta till trunk men inte haft tid att testa genom ordentligt.
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?
Settings-klassen har olika privata variabler beronde på plattform och använder därför "pimpl idiom"
Micke Prag
Software
Telldus Technologies
Post Reply