1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
--- main.c (revision 1905)
+++ main.c (revision 1948)
@@ -388,8 +388,8 @@
/* parse the list and scan for field and content */
if (mime_readheader(header, &dummyidx, &mimelist, &dummysize) < 0) {
- trace(TRACE_ERROR,
- "main(): mime_readheader failed to read a header list");
+ trace(TRACE_ERROR, "%s,%s: mime_readheader failed",
+ __FILE__, __func__);
exitcode = EX_TEMPFAIL;
goto freeall;
}
@@ -400,15 +400,16 @@
if (returnpath.total_nodes == 0)
mail_adr_list("From", &returnpath, &mimelist);
if (returnpath.total_nodes == 0)
- trace(TRACE_DEBUG, "main(): no return path found.");
+ trace(TRACE_DEBUG, "%s,%s: no return path found.",
+ __FILE__,__func__);
/* If the NORMAL delivery mode has been selected... */
if (deliver_to_header != NULL) {
/* parse for destination addresses */
trace(TRACE_DEBUG, "main(): scanning for [%s]", deliver_to_header);
if (mail_adr_list(deliver_to_header, &users, &mimelist) != 0) {
- trace(TRACE_STOP, "main(): scanner found no email addresses (scanned for %s)",
- deliver_to_header);
+ trace(TRACE_STOP, "%s,%s: no email addresses found (scanned for %s)",
+ __FILE__,__func__, deliver_to_header);
exitcode = EX_NOUSER;
goto freeall;
}
@@ -419,11 +420,16 @@
if (! (strlen((char *)tmp->data) > 0))
continue;
- deliver_to_user_t dsnuser;
dsnuser_init(&dsnuser);
dsnuser.address = dm_strdup((char *) tmp->data);
- list_nodeadd(&dsnusers, &dsnuser, sizeof(deliver_to_user_t));
+ if (! list_nodeadd(&dsnusers, &dsnuser, sizeof(deliver_to_user_t))) {
+ trace(TRACE_ERROR,"%s,%s: out of memory in list_nodeadd",
+ __FILE__, __func__);
+ exitcode = EX_TEMPFAIL;
+ goto freeall;
+ }
+
}
}
|