[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