diff options
author | Luke Leighton <lkcl@samba.org> | 2000-03-10 02:01:40 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 2000-03-10 02:01:40 +0000 |
commit | a9b5bbd72e754ea2c7ca18755ddaab1ed2d538c0 (patch) | |
tree | b38ec4fc37c83f7e17eaac4aabb96c99bd9bd68d | |
parent | b03039ffd072238a935b32e67accc3c8907ca682 (diff) | |
download | samba-a9b5bbd72e754ea2c7ca18755ddaab1ed2d538c0.tar.gz samba-a9b5bbd72e754ea2c7ca18755ddaab1ed2d538c0.tar.xz samba-a9b5bbd72e754ea2c7ca18755ddaab1ed2d538c0.zip |
use write_socket() not a direct write()
-rw-r--r-- | source/lib/msrpc-client.c | 23 | ||||
-rw-r--r-- | source/msrpc/msrpcd_process.c | 4 | ||||
-rw-r--r-- | source/rpc_server/srv_pipe.c | 4 |
3 files changed, 13 insertions, 18 deletions
diff --git a/source/lib/msrpc-client.c b/source/lib/msrpc-client.c index 047ab5913c1..690c3c05156 100644 --- a/source/lib/msrpc-client.c +++ b/source/lib/msrpc-client.c @@ -88,7 +88,6 @@ BOOL receive_msrpc(int fd, prs_struct * data, unsigned int timeout) BOOL msrpc_send(int fd, prs_struct * ps) { size_t len = ps != NULL ? prs_buf_len(ps) : 0; - size_t nwritten = 0; ssize_t ret; char *outbuf = (ps != NULL ? ps->data : NULL); @@ -101,17 +100,13 @@ BOOL msrpc_send(int fd, prs_struct * ps) } dump_data(10, outbuf, len); - while (nwritten < len) + ret = write_socket(fd, outbuf, len); + if (ret <= 0 || ret != len) { - ret = write_socket(fd, outbuf + nwritten, len - nwritten); - if (ret <= 0) - { - DEBUG(0, ("Error writing %d msrpc bytes. %d.\n", - len, ret)); - prs_free_data(ps); - return False; - } - nwritten += ret; + DEBUG(0, ("Error writing %d msrpc bytes. %d.\n", + len, ret)); + prs_free_data(ps); + return False; } prs_free_data(ps); @@ -226,7 +221,7 @@ static BOOL ncalrpc_l_authenticate(struct msrpc_local *msrpc) dump_data(100, data, len); #endif - if (write(sock, data, len) <= 0) + if (write_socket(sock, data, len) <= 0) { DEBUG(0, ("write failed\n")); return False; @@ -234,7 +229,7 @@ static BOOL ncalrpc_l_authenticate(struct msrpc_local *msrpc) if (msrpc->redirect) { struct msrpc_local msrpc_redir; - len = read(sock, &msrpc_redir, sizeof(msrpc_redir)); + len = read_data(sock, (char*)&msrpc_redir, sizeof(msrpc_redir)); if (len != sizeof(msrpc_redir)) { @@ -250,7 +245,7 @@ static BOOL ncalrpc_l_authenticate(struct msrpc_local *msrpc) else { uint32 status; - len = read(sock, &status, sizeof(status)); + len = read_data(sock, (char*)&status, sizeof(status)); return len == sizeof(status) && status == 0x0; } diff --git a/source/msrpc/msrpcd_process.c b/source/msrpc/msrpcd_process.c index daa12322297..c534a438d78 100644 --- a/source/msrpc/msrpcd_process.c +++ b/source/msrpc/msrpcd_process.c @@ -234,7 +234,7 @@ BOOL get_user_creds(int c, vuser_key * uk) DEBUG(10, ("get_user_creds: first request\n")); - rl = read(c, &buf, sizeof(len)); + rl = read_data(c, (char*)&buf, sizeof(len)); if (rl != sizeof(len)) { @@ -308,7 +308,7 @@ BOOL get_user_creds(int c, vuser_key * uk) status = new_con ? 0x0 : 0x1; - if (write(c, &status, sizeof(status)) != sizeof(status)) + if (write_socket(c, (char*)&status, sizeof(status)) != sizeof(status)) { return False; } diff --git a/source/rpc_server/srv_pipe.c b/source/rpc_server/srv_pipe.c index 58367660f25..b3cdb501736 100644 --- a/source/rpc_server/srv_pipe.c +++ b/source/rpc_server/srv_pipe.c @@ -42,7 +42,7 @@ BOOL readwrite_pipe(pipes_struct *p, char *data, int len, DEBUG(10,("rpc_to_smb_readwrite: len %d\n", len)); - if (write(p->m->fd, data, len) != len) + if (write_socket(p->m->fd, data, len) != len) { return False; } @@ -109,7 +109,7 @@ ssize_t write_pipe(pipes_struct *p, char *data, size_t n) dump_data(50, data, n); - return write(p->m->fd, data, n); + return write_socket(p->m->fd, data, n); } |