repositories
/
deb_libnfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change rpc_nfs_mknod to rpc_nfs3_mknod
[deb_libnfs.git]
/
lib
/
libnfs-zdr.c
diff --git
a/lib/libnfs-zdr.c
b/lib/libnfs-zdr.c
index 5f7964837a510fffea8f3cc9b0623c8244b8b024..7539b08d7ccf7776a3f0f6cc52391e5f760ed62d 100644
(file)
--- a/
lib/libnfs-zdr.c
+++ b/
lib/libnfs-zdr.c
@@
-124,7
+124,7
@@
bool_t libnfs_zdr_u_quad_t(ZDR *zdrs, uint64_t *u)
*u = ntohl(*(uint32_t *)&zdrs->buf[zdrs->pos]);
zdrs->pos += 4;
*u <<= 32;
*u = ntohl(*(uint32_t *)&zdrs->buf[zdrs->pos]);
zdrs->pos += 4;
*u <<= 32;
- *u |= ntohl(*(uint32_t *)&zdrs->buf[zdrs->pos]);
+ *u |=
(uint32_t)
ntohl(*(uint32_t *)&zdrs->buf[zdrs->pos]);
zdrs->pos += 4;
return TRUE;
break;
zdrs->pos += 4;
return TRUE;
break;
@@
-219,6
+219,9
@@
bool_t libnfs_zdr_opaque(ZDR *zdrs, char *objp, uint32_t size)
case ZDR_ENCODE:
memcpy(&zdrs->buf[zdrs->pos], objp, size);
zdrs->pos += size;
case ZDR_ENCODE:
memcpy(&zdrs->buf[zdrs->pos], objp, size);
zdrs->pos += size;
+ if (zdrs->pos & 3) {
+ memset(&zdrs->buf[zdrs->pos], 0x00, 4 - (zdrs->pos & 3));
+ }
zdrs->pos = (zdrs->pos + 3) & ~3;
return TRUE;
case ZDR_DECODE:
zdrs->pos = (zdrs->pos + 3) & ~3;
return TRUE;
case ZDR_DECODE:
@@
-476,10
+479,12
@@
struct AUTH *libnfs_authunix_create(char *host, uint32_t uid, uint32_t gid, uint
size = 4 + 4 + ((strlen(host) + 3) & ~3) + 4 + 4 + 4 + len * 4;
auth = malloc(sizeof(struct AUTH));
size = 4 + 4 + ((strlen(host) + 3) & ~3) + 4 + 4 + 4 + len * 4;
auth = malloc(sizeof(struct AUTH));
+ memset(auth, 0x00, sizeof(struct AUTH));
auth->ah_cred.oa_flavor = AUTH_UNIX;
auth->ah_cred.oa_length = size;
auth->ah_cred.oa_base = malloc(size);
auth->ah_cred.oa_flavor = AUTH_UNIX;
auth->ah_cred.oa_length = size;
auth->ah_cred.oa_base = malloc(size);
+ memset(auth->ah_cred.oa_base, 0x00, size);
buf = (uint32_t *)auth->ah_cred.oa_base;
idx = 0;
buf[idx++] = htonl(time(NULL));
buf = (uint32_t *)auth->ah_cred.oa_base;
idx = 0;
buf[idx++] = htonl(time(NULL));