kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Fix memory leaks
rodzic
5fea1340ae
commit
bb44e467ab
|
|
@ -111,6 +111,7 @@ int n, fldsize;
|
||||||
memset (flddata, 0, fldsize + 1);
|
memset (flddata, 0, fldsize + 1);
|
||||||
strncpy (flddata, p, fldsize);
|
strncpy (flddata, p, fldsize);
|
||||||
adifqso.putField (fieldnum, (const char *)flddata);
|
adifqso.putField (fieldnum, (const char *)flddata);
|
||||||
|
delete [] flddata;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cAdifIO::readFile (const char *fname, cQsoDb *db) {
|
void cAdifIO::readFile (const char *fname, cQsoDb *db) {
|
||||||
|
|
@ -167,8 +168,7 @@ void cAdifIO::readFile (const char *fname, cQsoDb *db) {
|
||||||
p2 = strchr(p1,'<');
|
p2 = strchr(p1,'<');
|
||||||
}
|
}
|
||||||
db->SortByDate();
|
db->SortByDate();
|
||||||
return;
|
delete [] buff;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
string ADIFHEADER = "";
|
string ADIFHEADER = "";
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ cQsoRec::cQsoRec() {
|
||||||
|
|
||||||
cQsoRec::~cQsoRec () {
|
cQsoRec::~cQsoRec () {
|
||||||
for (int i = 0; i < NUMFIELDS; i++)
|
for (int i = 0; i < NUMFIELDS; i++)
|
||||||
delete qsofield[i];
|
delete [] qsofield[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
void cQsoRec::clearRec () {
|
void cQsoRec::clearRec () {
|
||||||
|
|
@ -149,6 +149,8 @@ int compareCalls (const cQsoRec &r1, const cQsoRec &r2) {
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
cmp = strcmp (r1.qsofield[CALL], r2.qsofield[CALL]);
|
cmp = strcmp (r1.qsofield[CALL], r2.qsofield[CALL]);
|
||||||
|
delete [] s1;
|
||||||
|
delete [] s2;
|
||||||
if (cmp == 0)
|
if (cmp == 0)
|
||||||
return compareDates (r1,r2);
|
return compareDates (r1,r2);
|
||||||
return cmp;
|
return cmp;
|
||||||
|
|
|
||||||
|
|
@ -748,7 +748,7 @@ void Table::clear(bool removeColumns) {
|
||||||
row = *i;
|
row = *i;
|
||||||
for (int i = 0; i < nCols; i++)
|
for (int i = 0; i < nCols; i++)
|
||||||
free(row[i]);
|
free(row[i]);
|
||||||
free(row);
|
delete [] row;
|
||||||
}
|
}
|
||||||
data.clear();
|
data.clear();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -97,8 +97,14 @@ bool dxcc_open(const char* filename)
|
||||||
|
|
||||||
void dxcc_close(void)
|
void dxcc_close(void)
|
||||||
{
|
{
|
||||||
|
if (!cmap)
|
||||||
|
return;
|
||||||
delete cnames;
|
delete cnames;
|
||||||
cnames = 0;
|
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;
|
delete cmap;
|
||||||
cmap = 0;
|
cmap = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -192,6 +192,7 @@ void spot_unregister_recv(spot_recv_cb_t rcb, void* rdata)
|
||||||
cblist_t::reverse_iterator ri;
|
cblist_t::reverse_iterator ri;
|
||||||
for (ri = cblist.rbegin(); ri != cblist.rend(); ++ri) {
|
for (ri = cblist.rbegin(); ri != cblist.rend(); ++ri) {
|
||||||
if (rcb == ri->rcb && rdata == ri->data) {
|
if (rcb == ri->rcb && rdata == ri->data) {
|
||||||
|
delete ri->re;
|
||||||
cblist.erase((++ri).base());
|
cblist.erase((++ri).base());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Ładowanie…
Reference in New Issue