]> git.ipfire.org Git - people/ms/dma.git/blob - patches/13-hardening.patch
Really fix the build on the GNU Hurd.
[people/ms/dma.git] / patches / 13-hardening.patch
1 Description: Build hardening: check a few more return values.
2 Origin: other: http://svn.ringlet.net/svn/ringlet/mail/dma/
3 Forwarded: yes
4 Author: Peter Pentchev <roam@ringlet.net>
5 Last-Update: 2010-06-21
6
7 --- a/util.c
8 +++ b/util.c
9 @@ -92,9 +92,9 @@
10 char *sufx;
11
12 va_start(ap, fmt);
13 - vasprintf(&sufx, fmt, ap);
14 - if (sufx != NULL) {
15 - asprintf(&tag, "%s[%s]", logident_base, sufx);
16 + if (vasprintf(&sufx, fmt, ap) != -1 && sufx != NULL) {
17 + if (asprintf(&tag, "%s[%s]", logident_base, sufx) == -1)
18 + tag = NULL;
19 free(sufx);
20 }
21 va_end(ap);
22 @@ -112,7 +112,8 @@
23
24 if (fmt != NULL) {
25 va_start(ap, fmt);
26 - vasprintf(&outs, fmt, ap);
27 + if (vasprintf(&outs, fmt, ap) == -1)
28 + outs = NULL;
29 va_end(ap);
30 }
31
32 @@ -135,7 +136,8 @@
33
34 if (fmt != NULL) {
35 va_start(ap, fmt);
36 - vasprintf(&outs, fmt, ap);
37 + if (vasprintf(&outs, fmt, ap) == -1)
38 + outs = NULL;
39 va_end(ap);
40 }
41
42 @@ -189,8 +191,8 @@
43 else
44 free(u);
45 }
46 - asprintf(__DECONST(void *, &username), "%ld", (long)uid);
47 - if (username != NULL)
48 + if (asprintf(__DECONST(void *, &username), "%ld", (long)uid) != -1 &&
49 + username != NULL)
50 return;
51 username = "unknown-or-invalid-username";
52 }