2) new[] means we should be using delete[] operator
char stackbuf[2048];
char* buf = stackbuf;
char* bp = buf;
- if (sb.st_size > (off_t)sizeof(buf)-1) // extra byte for terminating \0
+ if (sb.st_size > (off_t)sizeof(stackbuf)-1) // extra byte for terminating \0
bp = buf = new char[sb.st_size+1];
if (Sys::read(fd, bp, (u_int) sb.st_size) != sb.st_size) {
error("Read error: %s", strerror(errno));
- if (bp != buf)
- delete bp;
+ if (buf != stackbuf)
+ delete [] buf;
return (false);
}
/*
if (desiredec > EC_ECLFULL) desiredec = EC_ECLFULL;
if (desireddf > DF_2DMMR) desireddf = DF_2DMMR;
if (buf != stackbuf) // dynamically allocated buffer
- delete buf;
+ delete [] buf;
return (true);
}