fix a few memleaks

- delete [] must be used when mem is allocated with new []
This commit is contained in:
Olaf Rempel 2006-04-16 21:28:27 +02:00
parent a19a7bee92
commit 2fd676eb7d
5 changed files with 12 additions and 16 deletions

View File

@ -141,6 +141,7 @@ bool Config::parseFile(const char* name)
if (!(fz = fopen(name, "r"))) { if (!(fz = fopen(name, "r"))) {
LogSystem::log(LOG_ERROR, "config_parse(): can not open %s", name); LogSystem::log(LOG_ERROR, "config_parse(): can not open %s", name);
delete [] row;
return false; return false;
} }
@ -179,7 +180,7 @@ bool Config::parseFile(const char* name)
} }
fclose(fz); fclose(fz);
delete row; delete [] row;
return ret; return ret;
} }

View File

@ -7,18 +7,13 @@
#include "logging.h" #include "logging.h"
/* we need this for packet dumps! */ LogSystem::LogSystem()
#define BUFLEN 8192 : output(0), priority(0)
LogSystem::LogSystem() : output(0), priority(0)
{ {
buffer = new char[BUFLEN];
} }
LogSystem::~LogSystem() LogSystem::~LogSystem()
{ {
delete buffer;
if (output) if (output)
delete output; delete output;
} }
@ -76,13 +71,13 @@ void LogSystem::log(int prio, const char* fmt, ...)
int len; int len;
va_start(az, fmt); va_start(az, fmt);
len = vsnprintf(ls->buffer, BUFLEN, fmt, az); len = vsnprintf(ls->buffer, sizeof(ls->buffer), fmt, az);
va_end(az); va_end(az);
if (errno) { if (errno) {
strncpy(ls->buffer + len, ": ", BUFLEN - len); strncpy(ls->buffer + len, ": ", sizeof(ls->buffer) - len);
len += 2; len += 2;
strncpy(ls->buffer + len, strerror(errno), BUFLEN - len); strncpy(ls->buffer + len, strerror(errno), sizeof(ls->buffer) - len);
errno = 0; errno = 0;
} }

View File

@ -42,7 +42,7 @@ private:
LogOutput *output; LogOutput *output;
int priority; int priority;
char* buffer; char buffer[8192]; // we need this for (large) packet dumps!
}; };
class StdErrLog : public LogOutput { class StdErrLog : public LogOutput {

View File

@ -28,7 +28,7 @@ MultiSock::MultiSock(Config& conf)
FILE* fp = fopen(DEVFILE, "r"); FILE* fp = fopen(DEVFILE, "r");
if (fp == NULL) { if (fp == NULL) {
LogSystem::log(LOG_CRIT, "MultiSock(): can not open " DEVFILE); LogSystem::log(LOG_CRIT, "MultiSock(): can not open " DEVFILE);
free(buf); delete [] buf;
return; return;
} }
@ -66,7 +66,7 @@ MultiSock::MultiSock(Config& conf)
delete it; delete it;
fclose(fp); fclose(fp);
delete buf; delete [] buf;
if (ifaceList.isEmpty()) if (ifaceList.isEmpty())
LogSystem::log(LOG_CRIT, "No useable Interfaces found!"); LogSystem::log(LOG_CRIT, "No useable Interfaces found!");

View File

@ -33,7 +33,7 @@ NetPkt::NetPkt(int alloc)
NetPkt::~NetPkt() NetPkt::~NetPkt()
{ {
if (alloc > 0) if (alloc > 0)
delete data; delete [] data;
} }
int NetPkt::show(char* buf, int size) int NetPkt::show(char* buf, int size)
@ -170,7 +170,7 @@ void NetPkt::merge(NetPkt* pkt)
memcpy(new_data, data, size); memcpy(new_data, data, size);
if (alloc) if (alloc)
delete data; delete [] data;
data = new_data; data = new_data;
alloc = new_alloc; alloc = new_alloc;