diff options
Diffstat (limited to 'source/rpc_parse/parse_dfs.c')
-rw-r--r-- | source/rpc_parse/parse_dfs.c | 80 |
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++) { |