aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/pump/pump/00_all_retvals.patch
blob: 5caef146959f0c2367c9a52ed9a24df3b369dfa7 (plain)
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
--- pump-0.8.24/pump.c	2008-12-20 12:29:28.000000000 +0100
+++ pump.c	2008-12-20 12:28:47.000000000 +0100
@@ -555,7 +555,11 @@
   
 		listen(sock, 5);
   
-		write(conn, &c, 1);
+		if (write(conn, &c, 1) < 0) {
+		    syslog(LOG_ERR, "failed to write to connection: %s\n",
+			   strerror(errno));
+		    exit(1);
+		}
   
 out:
 		close(conn);
@@ -731,7 +735,8 @@
     if (!connect(sock_in, (struct sockaddr *) &addr_in, sizeof(addr_in))) {
 	char c;
 
-	read(sock_in, &c, 1);
+	if( read(sock_in, &c, 1) < 0) {}
+
 	close(sock_in);
 	goto again;
     }
@@ -774,7 +779,11 @@
 	    exit(1);
 	}
 
-	chdir("/");
+	if( chdir("/") < 0 ) {
+	    syslog(LOG_ERR, "couldn't chdir to root: %s\n", strerror(errno));
+	    exit(1);
+	}
+
 	umask(077);
 	if (bind(sock, (struct sockaddr *) &addr, addrLength)) {
 	    syslog(LOG_ERR, "bind to %s failed: %s\n", CONTROLSOCKET,