[dovecot-cvs] dovecot/src/auth passdb-pam.c,1.30,1.31

cras at dovecot.org cras at dovecot.org
Fri Jan 13 14:50:01 EET 2006


Update of /var/lib/cvs/dovecot/src/auth
In directory talvi:/tmp/cvs-serv6724

Modified Files:
	passdb-pam.c 
Log Message:
Check write()'s return value



Index: passdb-pam.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/auth/passdb-pam.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- passdb-pam.c	25 Dec 2005 11:05:28 -0000	1.30
+++ passdb-pam.c	13 Jan 2006 12:49:59 -0000	1.31
@@ -235,7 +235,7 @@
 	struct pam_userpass userpass;
 	struct pam_conv conv;
 	enum passdb_result result;
-	int status, status2;
+	int ret, status, status2;
 	const char *str;
 	char buf_data[512];
 	buffer_t *buf;
@@ -280,7 +280,12 @@
 		buffer_append(buf, str, strlen(str));
 	}
 
-	write(fd, buf_data, buffer_get_used_size(buf));
+	if ((ret = write(fd, buf_data, buf->used)) != (int)buf->used) {
+		if (ret < 0)
+			i_error("write() failed: %m");
+		else
+			i_error("write() failed: %d != %u", ret, buf->used);
+	}
 }
 
 static void pam_child_input(void *context)



More information about the dovecot-cvs mailing list