Page MenuHomeFreeBSD

D36763.id111707.diff
No OneTemporary

D36763.id111707.diff

diff --git a/contrib/dma/mail.c b/contrib/dma/mail.c
--- a/contrib/dma/mail.c
+++ b/contrib/dma/mail.c
@@ -35,6 +35,7 @@
#include <errno.h>
#include <inttypes.h>
+#include <malloc_np.h>
#include <signal.h>
#include <strings.h>
#include <string.h>
@@ -418,8 +419,14 @@
* If we fix it, it better be the last line of
* the file.
*/
- line[linelen] = '\n';
- line[linelen + 1] = 0;
+ if ((size_t)linelen + 1 > linecap) {
+ line = realloc(line, linelen + 2);
+ if (line == NULL)
+ errlogx(EX_SOFTWARE, "realloc");
+ linecap = malloc_usable_size(line);
+ }
+ line[linelen++] = '\n';
+ line[linelen] = 0;
had_last_line = 1;
}
if (!had_first_line) {

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 8, 11:53 AM (6 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29404877
Default Alt Text
D36763.id111707.diff (700 B)

Event Timeline