summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>2000-03-10 02:01:40 +0000
committerLuke Leighton <lkcl@samba.org>2000-03-10 02:01:40 +0000
commita9b5bbd72e754ea2c7ca18755ddaab1ed2d538c0 (patch)
treeb38ec4fc37c83f7e17eaac4aabb96c99bd9bd68d
parentb03039ffd072238a935b32e67accc3c8907ca682 (diff)
downloadsamba-a9b5bbd72e754ea2c7ca18755ddaab1ed2d538c0.tar.gz
use write_socket() not a direct write()
-rw-r--r--source/lib/msrpc-client.c23
-rw-r--r--source/msrpc/msrpcd_process.c4
-rw-r--r--source/rpc_server/srv_pipe.c4
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);
}