comparison mail.c @ 5:d163044ae493

Fix off-by-one memory allocation error (part II)
author Adam Chlipala <adam@chlipala.net>
date Sat, 26 Dec 2015 14:15:54 -0500
parents 0420bfe96dda
children f96ca37be746
comparison
equal deleted inserted replaced
4:0420bfe96dda 5:d163044ae493
91 else 91 else
92 memset(h2, 0, sizeof(*h2)); 92 memset(h2, 0, sizeof(*h2));
93 93
94 address(ctx, s); 94 address(ctx, s);
95 if (h2->cc) { 95 if (h2->cc) {
96 uw_Basis_string all = uw_malloc(ctx, strlen(h2->cc) + 1 + strlen(s)); 96 uw_Basis_string all = uw_malloc(ctx, strlen(h2->cc) + 2 + strlen(s));
97 sprintf(all, "%s,%s", h2->cc, s); 97 sprintf(all, "%s,%s", h2->cc, s);
98 h2->cc = all; 98 h2->cc = all;
99 } else 99 } else
100 h2->cc = s; 100 h2->cc = s;
101 101
109 else 109 else
110 memset(h2, 0, sizeof(*h2)); 110 memset(h2, 0, sizeof(*h2));
111 111
112 address(ctx, s); 112 address(ctx, s);
113 if (h2->bcc) { 113 if (h2->bcc) {
114 uw_Basis_string all = uw_malloc(ctx, strlen(h2->bcc) + 1 + strlen(s)); 114 uw_Basis_string all = uw_malloc(ctx, strlen(h2->bcc) + 2 + strlen(s));
115 sprintf(all, "%s,%s", h2->bcc, s); 115 sprintf(all, "%s,%s", h2->bcc, s);
116 h2->bcc = all; 116 h2->bcc = all;
117 } else 117 } else
118 h2->bcc = s; 118 h2->bcc = s;
119 119