summaryrefslogtreecommitdiffstats
path: root/source/rpc_parse/parse_dfs.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2007-05-14 14:24:52 +0000
committerGerald Carter <jerry@samba.org>2007-05-14 14:24:52 +0000
commitc3f0e56c057f6be60bd3721485f013ed63defa6a (patch)
tree912f4dfedfc0303371a02b2ec9f77e1328c0b0ee /source/rpc_parse/parse_dfs.c
parente6549096bedeac730cacbcaffddd6f907e4c9e28 (diff)
downloadsamba-79f5d782e399d1a0e75d60acee79c792120df4b1.tar.gz
samba-79f5d782e399d1a0e75d60acee79c792120df4b1.tar.xz
samba-79f5d782e399d1a0e75d60acee79c792120df4b1.zip
r22853: checkin pending security fixes and release notes updates for Samba 3.0.25samba-3.0.25
Diffstat (limited to 'source/rpc_parse/parse_dfs.c')
-rw-r--r--source/rpc_parse/parse_dfs.c80
1 files changed, 56 insertions, 24 deletions
diff --git a/source/rpc_parse/parse_dfs.c b/source/rpc_parse/parse_dfs.c
index 118429e7d2f..88d6135a838 100644
--- a/source/rpc_parse/parse_dfs.c
+++ b/source/rpc_parse/parse_dfs.c
@@ -325,9 +325,13 @@ BOOL netdfs_io_dfs_Info3_d(const char *desc, NETDFS_DFS_INFO3 *v, prs_struct *ps
return False;
if (UNMARSHALLING(ps)) {
- v->stores = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->stores)*v->num_stores);
- if (!v->stores) {
- return False;
+ if (v->num_stores) {
+ v->stores = PRS_ALLOC_MEM(ps,NETDFS_DFS_STORAGEINFO,v->num_stores);
+ if (!v->stores) {
+ return False;
+ }
+ } else {
+ v->stores = NULL;
}
}
for (i_stores_1=0; i_stores_1<v->num_stores;i_stores_1++) {
@@ -450,9 +454,13 @@ BOOL netdfs_io_dfs_Info4_d(const char *desc, NETDFS_DFS_INFO4 *v, prs_struct *ps
return False;
if (UNMARSHALLING(ps)) {
- v->stores = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->stores)*v->num_stores);
- if (!v->stores) {
- return False;
+ if (v->num_stores) {
+ v->stores = PRS_ALLOC_MEM(ps,NETDFS_DFS_STORAGEINFO,v->num_stores);
+ if (!v->stores) {
+ return False;
+ }
+ } else {
+ v->stores = NULL;
}
}
for (i_stores_1=0; i_stores_1<v->num_stores;i_stores_1++) {
@@ -926,9 +934,13 @@ BOOL netdfs_io_dfs_EnumArray1_d(const char *desc, NETDFS_DFS_ENUMARRAY1 *v, prs_
return False;
if (UNMARSHALLING(ps)) {
- v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count);
- if (!v->s) {
- return False;
+ if (v->count) {
+ v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO1,v->count);
+ if (!v->s) {
+ return False;
+ }
+ } else {
+ v->s = NULL;
}
}
for (i_s_1=0; i_s_1<v->count;i_s_1++) {
@@ -995,9 +1007,13 @@ BOOL netdfs_io_dfs_EnumArray2_d(const char *desc, NETDFS_DFS_ENUMARRAY2 *v, prs_
return False;
if (UNMARSHALLING(ps)) {
- v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count);
- if (!v->s) {
- return False;
+ if (v->count) {
+ v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO2,v->count);
+ if (!v->s) {
+ return False;
+ }
+ } else {
+ v->s = NULL;
}
}
for (i_s_1=0; i_s_1<v->count;i_s_1++) {
@@ -1064,9 +1080,13 @@ BOOL netdfs_io_dfs_EnumArray3_d(const char *desc, NETDFS_DFS_ENUMARRAY3 *v, prs_
return False;
if (UNMARSHALLING(ps)) {
- v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count);
- if (!v->s) {
- return False;
+ if (v->count) {
+ v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO3,v->count);
+ if (!v->s) {
+ return False;
+ }
+ } else {
+ v->s = NULL;
}
}
for (i_s_1=0; i_s_1<v->count;i_s_1++) {
@@ -1133,9 +1153,13 @@ BOOL netdfs_io_dfs_EnumArray4_d(const char *desc, NETDFS_DFS_ENUMARRAY4 *v, prs_
return False;
if (UNMARSHALLING(ps)) {
- v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count);
- if (!v->s) {
- return False;
+ if (v->count) {
+ v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO4,v->count);
+ if (!v->s) {
+ return False;
+ }
+ } else {
+ v->s = NULL;
}
}
for (i_s_1=0; i_s_1<v->count;i_s_1++) {
@@ -1202,9 +1226,13 @@ BOOL netdfs_io_dfs_EnumArray200_d(const char *desc, NETDFS_DFS_ENUMARRAY200 *v,
return False;
if (UNMARSHALLING(ps)) {
- v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count);
- if (!v->s) {
- return False;
+ if (v->count) {
+ v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO200,v->count);
+ if (!v->s) {
+ return False;
+ }
+ } else {
+ v->s = NULL;
}
}
for (i_s_1=0; i_s_1<v->count;i_s_1++) {
@@ -1271,9 +1299,13 @@ BOOL netdfs_io_dfs_EnumArray300_d(const char *desc, NETDFS_DFS_ENUMARRAY300 *v,
return False;
if (UNMARSHALLING(ps)) {
- v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count);
- if (!v->s) {
- return False;
+ if (v->count) {
+ v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO300,v->count);
+ if (!v->s) {
+ return False;
+ }
+ } else {
+ v->s = NULL;
}
}
for (i_s_1=0; i_s_1<v->count;i_s_1++) {