Changeset 746 for vendor/current/source3/librpc/gen_ndr/ndr_frstrans.c
- Timestamp:
- Nov 27, 2012, 4:56:06 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified vendor/current/source3/librpc/gen_ndr/ndr_frstrans.c ¶
r740 r746 194 194 static enum ndr_err_code ndr_pull_frstrans_Update(struct ndr_pull *ndr, int ndr_flags, struct frstrans_Update *r) 195 195 { 196 uint32_t size_sha1_hash_0 = 0; 197 uint32_t size_rdc_similarity_0 = 0; 198 uint32_t size_name_0 = 0; 199 uint32_t length_name_0 = 0; 196 200 { 197 201 uint32_t _flags_save_STRUCT = ndr->flags; … … 206 210 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->create_time)); 207 211 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->content_set_guid)); 208 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->sha1_hash, 20)); 209 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->rdc_similarity, 16)); 212 size_sha1_hash_0 = 20; 213 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->sha1_hash, size_sha1_hash_0)); 214 size_rdc_similarity_0 = 16; 215 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->rdc_similarity, size_rdc_similarity_0)); 210 216 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uid_db_guid)); 211 217 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid_version)); … … 215 221 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->parent_version)); 216 222 NDR_CHECK(ndr_pull_array_length(ndr, &r->name)); 217 if (ndr_get_array_length(ndr, &r->name) > 261) { 218 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", 261, ndr_get_array_length(ndr, &r->name)); 223 size_name_0 = 261; 224 length_name_0 = ndr_get_array_length(ndr, &r->name); 225 if (length_name_0 > size_name_0) { 226 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_name_0, length_name_0); 219 227 } 220 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));221 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));228 NDR_CHECK(ndr_check_string_terminator(ndr, length_name_0, sizeof(uint16_t))); 229 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, length_name_0, sizeof(uint16_t), CH_UTF16)); 222 230 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags)); 223 231 NDR_CHECK(ndr_pull_trailer_align(ndr, 8)); … … 401 409 { 402 410 uint32_t _ptr_version_vector; 411 uint32_t size_version_vector_1 = 0; 403 412 uint32_t cntr_version_vector_1; 404 413 TALLOC_CTX *_mem_save_version_vector_0; 405 414 TALLOC_CTX *_mem_save_version_vector_1; 406 415 uint32_t _ptr_epoque_vector; 416 uint32_t size_epoque_vector_1 = 0; 407 417 uint32_t cntr_epoque_vector_1; 408 418 TALLOC_CTX *_mem_save_epoque_vector_0; … … 432 442 NDR_PULL_SET_MEM_CTX(ndr, r->version_vector, 0); 433 443 NDR_CHECK(ndr_pull_array_size(ndr, &r->version_vector)); 434 NDR_PULL_ALLOC_N(ndr, r->version_vector, ndr_get_array_size(ndr, &r->version_vector)); 444 size_version_vector_1 = ndr_get_array_size(ndr, &r->version_vector); 445 NDR_PULL_ALLOC_N(ndr, r->version_vector, size_version_vector_1); 435 446 _mem_save_version_vector_1 = NDR_PULL_GET_MEM_CTX(ndr); 436 447 NDR_PULL_SET_MEM_CTX(ndr, r->version_vector, 0); 437 for (cntr_version_vector_1 = 0; cntr_version_vector_1 < r->version_vector_count; cntr_version_vector_1++) {448 for (cntr_version_vector_1 = 0; cntr_version_vector_1 < size_version_vector_1; cntr_version_vector_1++) { 438 449 NDR_CHECK(ndr_pull_frstrans_VersionVector(ndr, NDR_SCALARS, &r->version_vector[cntr_version_vector_1])); 439 450 } … … 445 456 NDR_PULL_SET_MEM_CTX(ndr, r->epoque_vector, 0); 446 457 NDR_CHECK(ndr_pull_array_size(ndr, &r->epoque_vector)); 447 NDR_PULL_ALLOC_N(ndr, r->epoque_vector, ndr_get_array_size(ndr, &r->epoque_vector)); 458 size_epoque_vector_1 = ndr_get_array_size(ndr, &r->epoque_vector); 459 NDR_PULL_ALLOC_N(ndr, r->epoque_vector, size_epoque_vector_1); 448 460 _mem_save_epoque_vector_1 = NDR_PULL_GET_MEM_CTX(ndr); 449 461 NDR_PULL_SET_MEM_CTX(ndr, r->epoque_vector, 0); 450 for (cntr_epoque_vector_1 = 0; cntr_epoque_vector_1 < r->epoque_vector_count; cntr_epoque_vector_1++) {462 for (cntr_epoque_vector_1 = 0; cntr_epoque_vector_1 < size_epoque_vector_1; cntr_epoque_vector_1++) { 451 463 NDR_CHECK(ndr_pull_frstrans_EpoqueVector(ndr, NDR_SCALARS, &r->epoque_vector[cntr_epoque_vector_1])); 452 464 } … … 608 620 static enum ndr_err_code ndr_pull_frstrans_RdcParameterGeneric(struct ndr_pull *ndr, int ndr_flags, struct frstrans_RdcParameterGeneric *r) 609 621 { 622 uint32_t size_chunker_parameters_0 = 0; 610 623 if (ndr_flags & NDR_SCALARS) { 611 624 NDR_CHECK(ndr_pull_align(ndr, 3)); 612 625 NDR_CHECK(ndr_pull_frstrans_RdcChunckerAlgorithm(ndr, NDR_SCALARS, &r->chunker_type)); 613 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->chunker_parameters, 64)); 626 size_chunker_parameters_0 = 64; 627 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->chunker_parameters, size_chunker_parameters_0)); 614 628 NDR_CHECK(ndr_pull_trailer_align(ndr, 3)); 615 629 } … … 956 970 static enum ndr_err_code ndr_pull_frstrans_RdcFileInfo(struct ndr_pull *ndr, int ndr_flags, struct frstrans_RdcFileInfo *r) 957 971 { 972 uint32_t size_rdc_filter_parameters_0 = 0; 958 973 uint32_t cntr_rdc_filter_parameters_0; 959 974 TALLOC_CTX *_mem_save_rdc_filter_parameters_0; … … 970 985 } 971 986 NDR_CHECK(ndr_pull_frstrans_RdcCompressionAlgorithm(ndr, NDR_SCALARS, &r->compression_algorithm)); 972 NDR_PULL_ALLOC_N(ndr, r->rdc_filter_parameters, ndr_get_array_size(ndr, &r->rdc_filter_parameters)); 987 size_rdc_filter_parameters_0 = ndr_get_array_size(ndr, &r->rdc_filter_parameters); 988 NDR_PULL_ALLOC_N(ndr, r->rdc_filter_parameters, size_rdc_filter_parameters_0); 973 989 _mem_save_rdc_filter_parameters_0 = NDR_PULL_GET_MEM_CTX(ndr); 974 990 NDR_PULL_SET_MEM_CTX(ndr, r->rdc_filter_parameters, 0); 975 for (cntr_rdc_filter_parameters_0 = 0; cntr_rdc_filter_parameters_0 < r->rdc_signature_levels; cntr_rdc_filter_parameters_0++) {991 for (cntr_rdc_filter_parameters_0 = 0; cntr_rdc_filter_parameters_0 < size_rdc_filter_parameters_0; cntr_rdc_filter_parameters_0++) { 976 992 NDR_CHECK(ndr_pull_frstrans_RdcParameters(ndr, NDR_SCALARS, &r->rdc_filter_parameters[cntr_rdc_filter_parameters_0])); 977 993 } … … 1026 1042 static enum ndr_err_code ndr_pull_frstrans_BytePipe_chunk(struct ndr_pull *ndr, int ndr_flags, struct frstrans_BytePipe_chunk *r) 1027 1043 { 1044 uint32_t size_array_0 = 0; 1028 1045 if (ndr_flags & NDR_SCALARS) { 1029 1046 NDR_CHECK(ndr_pull_align(ndr, 5)); 1030 1047 NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &r->count)); 1031 NDR_PULL_ALLOC_N(ndr, r->array, r->count); 1032 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->array, r->count)); 1048 size_array_0 = r->count; 1049 NDR_PULL_ALLOC_N(ndr, r->array, size_array_0); 1050 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->array, size_array_0)); 1033 1051 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 1034 1052 } … … 1291 1309 static enum ndr_err_code ndr_pull_frstrans_RequestUpdates(struct ndr_pull *ndr, int flags, struct frstrans_RequestUpdates *r) 1292 1310 { 1311 uint32_t size_version_vector_diff_1 = 0; 1293 1312 uint32_t cntr_version_vector_diff_1; 1313 uint32_t size_frs_update_1 = 0; 1314 uint32_t length_frs_update_1 = 0; 1294 1315 uint32_t cntr_frs_update_1; 1295 1316 TALLOC_CTX *_mem_save_version_vector_diff_1; … … 1318 1339 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.version_vector_diff_count)); 1319 1340 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.version_vector_diff)); 1341 size_version_vector_diff_1 = ndr_get_array_size(ndr, &r->in.version_vector_diff); 1320 1342 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 1321 NDR_PULL_ALLOC_N(ndr, r->in.version_vector_diff, ndr_get_array_size(ndr, &r->in.version_vector_diff));1343 NDR_PULL_ALLOC_N(ndr, r->in.version_vector_diff, size_version_vector_diff_1); 1322 1344 } 1323 1345 _mem_save_version_vector_diff_1 = NDR_PULL_GET_MEM_CTX(ndr); 1324 1346 NDR_PULL_SET_MEM_CTX(ndr, r->in.version_vector_diff, 0); 1325 for (cntr_version_vector_diff_1 = 0; cntr_version_vector_diff_1 < r->in.version_vector_diff_count; cntr_version_vector_diff_1++) {1347 for (cntr_version_vector_diff_1 = 0; cntr_version_vector_diff_1 < size_version_vector_diff_1; cntr_version_vector_diff_1++) { 1326 1348 NDR_CHECK(ndr_pull_frstrans_VersionVector(ndr, NDR_SCALARS, &r->in.version_vector_diff[cntr_version_vector_diff_1])); 1327 1349 } … … 1344 1366 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.frs_update)); 1345 1367 NDR_CHECK(ndr_pull_array_length(ndr, &r->out.frs_update)); 1346 if (ndr_get_array_length(ndr, &r->out.frs_update) > ndr_get_array_size(ndr, &r->out.frs_update)) { 1347 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.frs_update), ndr_get_array_length(ndr, &r->out.frs_update)); 1368 size_frs_update_1 = ndr_get_array_size(ndr, &r->out.frs_update); 1369 length_frs_update_1 = ndr_get_array_length(ndr, &r->out.frs_update); 1370 if (length_frs_update_1 > size_frs_update_1) { 1371 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_frs_update_1, length_frs_update_1); 1348 1372 } 1349 1373 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 1350 NDR_PULL_ALLOC_N(ndr, r->out.frs_update, ndr_get_array_size(ndr, &r->out.frs_update));1374 NDR_PULL_ALLOC_N(ndr, r->out.frs_update, size_frs_update_1); 1351 1375 } 1352 1376 _mem_save_frs_update_1 = NDR_PULL_GET_MEM_CTX(ndr); 1353 1377 NDR_PULL_SET_MEM_CTX(ndr, r->out.frs_update, 0); 1354 for (cntr_frs_update_1 = 0; cntr_frs_update_1 < ndr_get_array_length(ndr, &r->out.frs_update); cntr_frs_update_1++) {1378 for (cntr_frs_update_1 = 0; cntr_frs_update_1 < length_frs_update_1; cntr_frs_update_1++) { 1355 1379 NDR_CHECK(ndr_pull_frstrans_Update(ndr, NDR_SCALARS, &r->out.frs_update[cntr_frs_update_1])); 1356 1380 } … … 1921 1945 { 1922 1946 uint32_t _ptr_rdc_file_info; 1947 uint32_t size_data_buffer_1 = 0; 1948 uint32_t length_data_buffer_1 = 0; 1923 1949 TALLOC_CTX *_mem_save_frs_update_0; 1924 1950 TALLOC_CTX *_mem_save_staging_policy_0; … … 2011 2037 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data_buffer)); 2012 2038 NDR_CHECK(ndr_pull_array_length(ndr, &r->out.data_buffer)); 2013 if (ndr_get_array_length(ndr, &r->out.data_buffer) > ndr_get_array_size(ndr, &r->out.data_buffer)) { 2014 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.data_buffer), ndr_get_array_length(ndr, &r->out.data_buffer)); 2039 size_data_buffer_1 = ndr_get_array_size(ndr, &r->out.data_buffer); 2040 length_data_buffer_1 = ndr_get_array_length(ndr, &r->out.data_buffer); 2041 if (length_data_buffer_1 > size_data_buffer_1) { 2042 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_buffer_1, length_data_buffer_1); 2015 2043 } 2016 2044 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2017 NDR_PULL_ALLOC_N(ndr, r->out.data_buffer, ndr_get_array_size(ndr, &r->out.data_buffer));2018 } 2019 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data_buffer, ndr_get_array_length(ndr, &r->out.data_buffer)));2045 NDR_PULL_ALLOC_N(ndr, r->out.data_buffer, size_data_buffer_1); 2046 } 2047 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data_buffer, length_data_buffer_1)); 2020 2048 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 2021 2049 NDR_PULL_ALLOC(ndr, r->out.size_read);
Note:
See TracChangeset
for help on using the changeset viewer.