Fix memory leaks

pull/2/head
Stelios Bounanos 2009-01-12 01:53:41 +00:00
rodzic 5fea1340ae
commit bb44e467ab
5 zmienionych plików z 13 dodań i 4 usunięć

Wyświetl plik

@ -111,6 +111,7 @@ int n, fldsize;
memset (flddata, 0, fldsize + 1);
strncpy (flddata, p, fldsize);
adifqso.putField (fieldnum, (const char *)flddata);
delete [] flddata;
}
void cAdifIO::readFile (const char *fname, cQsoDb *db) {
@ -167,8 +168,7 @@ void cAdifIO::readFile (const char *fname, cQsoDb *db) {
p2 = strchr(p1,'<');
}
db->SortByDate();
return;
delete [] buff;
}
string ADIFHEADER = "";

Wyświetl plik

@ -24,7 +24,7 @@ cQsoRec::cQsoRec() {
cQsoRec::~cQsoRec () {
for (int i = 0; i < NUMFIELDS; i++)
delete qsofield[i];
delete [] qsofield[i];
}
void cQsoRec::clearRec () {
@ -149,6 +149,8 @@ int compareCalls (const cQsoRec &r1, const cQsoRec &r2) {
}
} else
cmp = strcmp (r1.qsofield[CALL], r2.qsofield[CALL]);
delete [] s1;
delete [] s2;
if (cmp == 0)
return compareDates (r1,r2);
return cmp;

Wyświetl plik

@ -748,7 +748,7 @@ void Table::clear(bool removeColumns) {
row = *i;
for (int i = 0; i < nCols; i++)
free(row[i]);
free(row);
delete [] row;
}
data.clear();

Wyświetl plik

@ -97,8 +97,14 @@ bool dxcc_open(const char* filename)
void dxcc_close(void)
{
if (!cmap)
return;
delete cnames;
cnames = 0;
map<dxcc*, bool> rm;
for (dxcc_map::iterator i = cmap->begin(); i != cmap->end(); ++i)
if (rm.insert(make_pair(i->second, true)).second)
delete i->second;
delete cmap;
cmap = 0;
}

Wyświetl plik

@ -192,6 +192,7 @@ void spot_unregister_recv(spot_recv_cb_t rcb, void* rdata)
cblist_t::reverse_iterator ri;
for (ri = cblist.rbegin(); ri != cblist.rend(); ++ri) {
if (rcb == ri->rcb && rdata == ri->data) {
delete ri->re;
cblist.erase((++ri).base());
break;
}