CID 717087: Resource leak (RESOURCE_LEAK)At (16): Variable "buf" going out of
scope leaks the storage it points to.
Signed-off-by: Samuel Just <sam.just@inktank.com>
uint64_t i = 0;
for (; (i + write_size) <= (unsigned)max_size; i += write_size) {
ret = ::pwrite(fd, static_cast<void*>(buf), write_size, i);
- if (ret < 0)
+ if (ret < 0) {
+ delete [] buf;
return -errno;
+ }
}
if (i < (unsigned)max_size) {
ret = ::pwrite(fd, static_cast<void*>(buf), max_size - i, i);
- if (ret < 0)
+ if (ret < 0) {
+ delete [] buf;
return -errno;
+ }
}
delete [] buf;
}