+2006-11-16 Jim Meyering <jim@meyering.net>
+
+ Help valgrind see that there is no leak in dd.c.
+ * src/dd.c (dd_copy): Declare real_buf and real_obuf to be static,
+ so we need not free them at all. This is easier than freeing
+ both buffers at each of the early "return"s.
+
2006-11-15 Jim Meyering <jim@meyering.net>
* .x-po-check: Exclude gl/ files. Otherwise, po-check would
dd_copy (void)
{
char *ibuf, *bufstart; /* Input buffer. */
- char *real_buf; /* real buffer address before alignment */
- char *real_obuf;
+ /* These are declared static so that even though we don't free the
+ buffers, valgrind will recognize that there is no "real" leak. */
+ static char *real_buf; /* real buffer address before alignment */
+ static char *real_obuf;
ssize_t nread; /* Bytes read in the current block. */
/* If nonzero, then the previously read block was partial and
}
}
- free (real_buf);
- free (real_obuf);
-
if ((conversions_mask & C_FDATASYNC) && fdatasync (STDOUT_FILENO) != 0)
{
if (errno != ENOSYS && errno != EINVAL)