aboutsummaryrefslogtreecommitdiff
path: root/mail/dbmail22/files/patch-2.0.7_006_281
blob: 40e64bebc05409b3443f3a5f94154071f5cbfc1a (plain) (blame)
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;
+			}
+			
 		}
 	}