Mercurial > email
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 |