Changeset 746 for vendor/current/source3/librpc/gen_ndr/ndr_samr.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_samr.c ¶
r740 r746 283 283 { 284 284 uint32_t _ptr_entries; 285 uint32_t size_entries_1 = 0; 285 286 uint32_t cntr_entries_1; 286 287 TALLOC_CTX *_mem_save_entries_0; … … 302 303 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 303 304 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); 304 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); 305 size_entries_1 = ndr_get_array_size(ndr, &r->entries); 306 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1); 305 307 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); 306 308 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 307 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {309 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 308 310 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); 309 311 } 310 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {312 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 311 313 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); 312 314 } … … 1241 1243 { 1242 1244 uint32_t _ptr_ids; 1245 uint32_t size_ids_1 = 0; 1243 1246 uint32_t cntr_ids_1; 1244 1247 TALLOC_CTX *_mem_save_ids_0; … … 1263 1266 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0); 1264 1267 NDR_CHECK(ndr_pull_array_size(ndr, &r->ids)); 1265 NDR_PULL_ALLOC_N(ndr, r->ids, ndr_get_array_size(ndr, &r->ids)); 1268 size_ids_1 = ndr_get_array_size(ndr, &r->ids); 1269 NDR_PULL_ALLOC_N(ndr, r->ids, size_ids_1); 1266 1270 _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr); 1267 1271 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0); 1268 for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {1272 for (cntr_ids_1 = 0; cntr_ids_1 < size_ids_1; cntr_ids_1++) { 1269 1273 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1])); 1270 1274 } … … 1623 1627 { 1624 1628 uint32_t _ptr_rids; 1629 uint32_t size_rids_1 = 0; 1625 1630 uint32_t cntr_rids_1; 1626 1631 TALLOC_CTX *_mem_save_rids_0; 1627 1632 TALLOC_CTX *_mem_save_rids_1; 1628 1633 uint32_t _ptr_attributes; 1634 uint32_t size_attributes_1 = 0; 1629 1635 uint32_t cntr_attributes_1; 1630 1636 TALLOC_CTX *_mem_save_attributes_0; … … 1652 1658 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); 1653 1659 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids)); 1654 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids)); 1660 size_rids_1 = ndr_get_array_size(ndr, &r->rids); 1661 NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1); 1655 1662 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr); 1656 1663 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); 1657 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {1664 for (cntr_rids_1 = 0; cntr_rids_1 < size_rids_1; cntr_rids_1++) { 1658 1665 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1])); 1659 1666 } … … 1665 1672 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0); 1666 1673 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes)); 1667 NDR_PULL_ALLOC_N(ndr, r->attributes, ndr_get_array_size(ndr, &r->attributes)); 1674 size_attributes_1 = ndr_get_array_size(ndr, &r->attributes); 1675 NDR_PULL_ALLOC_N(ndr, r->attributes, size_attributes_1); 1668 1676 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr); 1669 1677 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0); 1670 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->count; cntr_attributes_1++) {1678 for (cntr_attributes_1 = 0; cntr_attributes_1 < size_attributes_1; cntr_attributes_1++) { 1671 1679 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1])); 1672 1680 } … … 2077 2085 { 2078 2086 uint32_t _ptr_bits; 2087 uint32_t size_bits_1 = 0; 2088 uint32_t length_bits_1 = 0; 2079 2089 TALLOC_CTX *_mem_save_bits_0; 2080 2090 { … … 2098 2108 NDR_CHECK(ndr_pull_array_size(ndr, &r->bits)); 2099 2109 NDR_CHECK(ndr_pull_array_length(ndr, &r->bits)); 2100 if (ndr_get_array_length(ndr, &r->bits) > ndr_get_array_size(ndr, &r->bits)) { 2101 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->bits), ndr_get_array_length(ndr, &r->bits)); 2110 size_bits_1 = ndr_get_array_size(ndr, &r->bits); 2111 length_bits_1 = ndr_get_array_length(ndr, &r->bits); 2112 if (length_bits_1 > size_bits_1) { 2113 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_bits_1, length_bits_1); 2102 2114 } 2103 NDR_PULL_ALLOC_N(ndr, r->bits, ndr_get_array_size(ndr, &r->bits));2104 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, ndr_get_array_length(ndr, &r->bits)));2115 NDR_PULL_ALLOC_N(ndr, r->bits, size_bits_1); 2116 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, length_bits_1)); 2105 2117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0); 2106 2118 } … … 2782 2794 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r) 2783 2795 { 2796 uint32_t size_hash_0 = 0; 2784 2797 { 2785 2798 uint32_t _flags_save_STRUCT = ndr->flags; … … 2787 2800 if (ndr_flags & NDR_SCALARS) { 2788 2801 NDR_CHECK(ndr_pull_align(ndr, 1)); 2789 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16)); 2802 size_hash_0 = 16; 2803 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, size_hash_0)); 2790 2804 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 2791 2805 } … … 3008 3022 { 3009 3023 uint32_t _ptr_buffer; 3024 uint32_t size_buffer_1 = 0; 3010 3025 TALLOC_CTX *_mem_save_buffer_0; 3011 3026 if (ndr_flags & NDR_SCALARS) { … … 3070 3085 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0); 3071 3086 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer)); 3072 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer)); 3073 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer))); 3087 size_buffer_1 = ndr_get_array_size(ndr, &r->buffer); 3088 NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1); 3089 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1)); 3074 3090 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0); 3075 3091 } … … 3148 3164 _PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r) 3149 3165 { 3166 uint32_t size_data_0 = 0; 3150 3167 { 3151 3168 uint32_t _flags_save_STRUCT = ndr->flags; … … 3153 3170 if (ndr_flags & NDR_SCALARS) { 3154 3171 NDR_CHECK(ndr_pull_align(ndr, 1)); 3155 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 516)); 3172 size_data_0 = 516; 3173 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0)); 3156 3174 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 3157 3175 } … … 3270 3288 static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r) 3271 3289 { 3290 uint32_t size_data_0 = 0; 3272 3291 { 3273 3292 uint32_t _flags_save_STRUCT = ndr->flags; … … 3275 3294 if (ndr_flags & NDR_SCALARS) { 3276 3295 NDR_CHECK(ndr_pull_align(ndr, 1)); 3277 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 532)); 3296 size_data_0 = 532; 3297 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0)); 3278 3298 NDR_CHECK(ndr_pull_trailer_align(ndr, 1)); 3279 3299 } … … 3939 3959 { 3940 3960 uint32_t _ptr_rids; 3961 uint32_t size_rids_1 = 0; 3941 3962 uint32_t cntr_rids_1; 3942 3963 TALLOC_CTX *_mem_save_rids_0; … … 3958 3979 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); 3959 3980 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids)); 3960 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids)); 3981 size_rids_1 = ndr_get_array_size(ndr, &r->rids); 3982 NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1); 3961 3983 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr); 3962 3984 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); 3963 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {3985 for (cntr_rids_1 = 0; cntr_rids_1 < size_rids_1; cntr_rids_1++) { 3964 3986 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1])); 3965 3987 } … … 4075 4097 { 4076 4098 uint32_t _ptr_entries; 4099 uint32_t size_entries_1 = 0; 4077 4100 uint32_t cntr_entries_1; 4078 4101 TALLOC_CTX *_mem_save_entries_0; … … 4094 4117 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 4095 4118 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); 4096 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); 4119 size_entries_1 = ndr_get_array_size(ndr, &r->entries); 4120 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1); 4097 4121 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); 4098 4122 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 4099 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {4123 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 4100 4124 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); 4101 4125 } 4102 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {4126 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 4103 4127 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); 4104 4128 } … … 4209 4233 { 4210 4234 uint32_t _ptr_entries; 4235 uint32_t size_entries_1 = 0; 4211 4236 uint32_t cntr_entries_1; 4212 4237 TALLOC_CTX *_mem_save_entries_0; … … 4228 4253 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 4229 4254 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); 4230 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); 4255 size_entries_1 = ndr_get_array_size(ndr, &r->entries); 4256 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1); 4231 4257 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); 4232 4258 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 4233 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {4259 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 4234 4260 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); 4235 4261 } 4236 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {4262 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 4237 4263 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); 4238 4264 } … … 4343 4369 { 4344 4370 uint32_t _ptr_entries; 4371 uint32_t size_entries_1 = 0; 4345 4372 uint32_t cntr_entries_1; 4346 4373 TALLOC_CTX *_mem_save_entries_0; … … 4362 4389 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 4363 4390 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); 4364 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); 4391 size_entries_1 = ndr_get_array_size(ndr, &r->entries); 4392 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1); 4365 4393 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); 4366 4394 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 4367 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {4395 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 4368 4396 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); 4369 4397 } 4370 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {4398 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 4371 4399 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); 4372 4400 } … … 4466 4494 { 4467 4495 uint32_t _ptr_entries; 4496 uint32_t size_entries_1 = 0; 4468 4497 uint32_t cntr_entries_1; 4469 4498 TALLOC_CTX *_mem_save_entries_0; … … 4485 4514 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 4486 4515 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries)); 4487 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries)); 4516 size_entries_1 = ndr_get_array_size(ndr, &r->entries); 4517 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1); 4488 4518 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr); 4489 4519 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0); 4490 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {4520 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 4491 4521 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1])); 4492 4522 } 4493 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {4523 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) { 4494 4524 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1])); 4495 4525 } … … 4783 4813 NDR_CHECK(ndr_push_align(ndr, 5)); 4784 4814 NDR_CHECK(ndr_push_samPwdChangeReason(ndr, NDR_SCALARS, r->extendedFailureReason)); 4785 NDR_CHECK(ndr_push_ unique_ptr(ndr,r->filterModuleName));4815 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->filterModuleName)); 4786 4816 NDR_CHECK(ndr_push_trailer_align(ndr, 5)); 4787 4817 } 4788 4818 if (ndr_flags & NDR_BUFFERS) { 4789 if (r->filterModuleName) { 4790 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->filterModuleName, CH_UTF16))); 4791 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0)); 4792 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->filterModuleName, CH_UTF16))); 4793 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->filterModuleName, ndr_charset_length(r->filterModuleName, CH_UTF16), sizeof(uint16_t), CH_UTF16)); 4794 } 4819 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->filterModuleName)); 4795 4820 } 4796 4821 return NDR_ERR_SUCCESS; … … 4799 4824 static enum ndr_err_code ndr_pull_userPwdChangeFailureInformation(struct ndr_pull *ndr, int ndr_flags, struct userPwdChangeFailureInformation *r) 4800 4825 { 4801 uint32_t _ptr_filterModuleName;4802 TALLOC_CTX *_mem_save_filterModuleName_0;4803 4826 if (ndr_flags & NDR_SCALARS) { 4804 4827 NDR_CHECK(ndr_pull_align(ndr, 5)); 4805 4828 NDR_CHECK(ndr_pull_samPwdChangeReason(ndr, NDR_SCALARS, &r->extendedFailureReason)); 4806 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_filterModuleName)); 4807 if (_ptr_filterModuleName) { 4808 NDR_PULL_ALLOC(ndr, r->filterModuleName); 4809 } else { 4810 r->filterModuleName = NULL; 4811 } 4829 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->filterModuleName)); 4812 4830 NDR_CHECK(ndr_pull_trailer_align(ndr, 5)); 4813 4831 } 4814 4832 if (ndr_flags & NDR_BUFFERS) { 4815 if (r->filterModuleName) { 4816 _mem_save_filterModuleName_0 = NDR_PULL_GET_MEM_CTX(ndr); 4817 NDR_PULL_SET_MEM_CTX(ndr, r->filterModuleName, 0); 4818 NDR_CHECK(ndr_pull_array_size(ndr, &r->filterModuleName)); 4819 NDR_CHECK(ndr_pull_array_length(ndr, &r->filterModuleName)); 4820 if (ndr_get_array_length(ndr, &r->filterModuleName) > ndr_get_array_size(ndr, &r->filterModuleName)) { 4821 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->filterModuleName), ndr_get_array_length(ndr, &r->filterModuleName)); 4822 } 4823 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->filterModuleName), sizeof(uint16_t))); 4824 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->filterModuleName, ndr_get_array_length(ndr, &r->filterModuleName), sizeof(uint16_t), CH_UTF16)); 4825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filterModuleName_0, 0); 4826 } 4833 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->filterModuleName)); 4827 4834 } 4828 4835 return NDR_ERR_SUCCESS; … … 4835 4842 ndr->depth++; 4836 4843 ndr_print_samPwdChangeReason(ndr, "extendedFailureReason", r->extendedFailureReason); 4837 ndr_print_ptr(ndr, "filterModuleName", r->filterModuleName); 4838 ndr->depth++; 4839 if (r->filterModuleName) { 4840 ndr_print_string(ndr, "filterModuleName", r->filterModuleName); 4841 } 4842 ndr->depth--; 4844 ndr_print_lsa_String(ndr, "filterModuleName", &r->filterModuleName); 4843 4845 ndr->depth--; 4844 4846 } … … 5064 5066 { 5065 5067 uint32_t _ptr_data; 5068 uint32_t size_data_1 = 0; 5066 5069 TALLOC_CTX *_mem_save_data_0; 5067 5070 if (ndr_flags & NDR_SCALARS) { … … 5081 5084 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0); 5082 5085 NDR_CHECK(ndr_pull_array_size(ndr, &r->data)); 5083 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data)); 5084 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data))); 5086 size_data_1 = ndr_get_array_size(ndr, &r->data); 5087 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1); 5088 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1)); 5085 5089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0); 5086 5090 } … … 5138 5142 { 5139 5143 uint32_t _ptr_pwd_history; 5144 uint32_t size_pwd_history_1 = 0; 5140 5145 uint32_t cntr_pwd_history_1; 5141 5146 TALLOC_CTX *_mem_save_pwd_history_0; … … 5162 5167 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0); 5163 5168 NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history)); 5164 NDR_PULL_ALLOC_N(ndr, r->pwd_history, ndr_get_array_size(ndr, &r->pwd_history)); 5169 size_pwd_history_1 = ndr_get_array_size(ndr, &r->pwd_history); 5170 NDR_PULL_ALLOC_N(ndr, r->pwd_history, size_pwd_history_1); 5165 5171 _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr); 5166 5172 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0); 5167 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {5173 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < size_pwd_history_1; cntr_pwd_history_1++) { 5168 5174 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1])); 5169 5175 } 5170 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {5176 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < size_pwd_history_1; cntr_pwd_history_1++) { 5171 5177 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1])); 5172 5178 } … … 7519 7525 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r) 7520 7526 { 7527 uint32_t size_names_0 = 0; 7528 uint32_t length_names_0 = 0; 7521 7529 uint32_t cntr_names_0; 7522 7530 TALLOC_CTX *_mem_save_domain_handle_0; … … 7540 7548 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names)); 7541 7549 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names)); 7542 if (ndr_get_array_length(ndr, &r->in.names) > ndr_get_array_size(ndr, &r->in.names)) { 7543 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.names), ndr_get_array_length(ndr, &r->in.names)); 7544 } 7545 NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names)); 7550 size_names_0 = ndr_get_array_size(ndr, &r->in.names); 7551 length_names_0 = ndr_get_array_length(ndr, &r->in.names); 7552 if (length_names_0 > size_names_0) { 7553 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_names_0, length_names_0); 7554 } 7555 NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0); 7546 7556 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr); 7547 7557 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0); 7548 for (cntr_names_0 = 0; cntr_names_0 < ndr_get_array_length(ndr, &r->in.names); cntr_names_0++) {7558 for (cntr_names_0 = 0; cntr_names_0 < length_names_0; cntr_names_0++) { 7549 7559 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0])); 7550 7560 } 7551 for (cntr_names_0 = 0; cntr_names_0 < ndr_get_array_length(ndr, &r->in.names); cntr_names_0++) {7561 for (cntr_names_0 = 0; cntr_names_0 < length_names_0; cntr_names_0++) { 7552 7562 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0])); 7553 7563 } … … 7658 7668 static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r) 7659 7669 { 7670 uint32_t size_rids_0 = 0; 7671 uint32_t length_rids_0 = 0; 7660 7672 uint32_t cntr_rids_0; 7661 7673 TALLOC_CTX *_mem_save_domain_handle_0; … … 7679 7691 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids)); 7680 7692 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids)); 7681 if (ndr_get_array_length(ndr, &r->in.rids) > ndr_get_array_size(ndr, &r->in.rids)) { 7682 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rids), ndr_get_array_length(ndr, &r->in.rids)); 7683 } 7684 NDR_PULL_ALLOC_N(ndr, r->in.rids, ndr_get_array_size(ndr, &r->in.rids)); 7693 size_rids_0 = ndr_get_array_size(ndr, &r->in.rids); 7694 length_rids_0 = ndr_get_array_length(ndr, &r->in.rids); 7695 if (length_rids_0 > size_rids_0) { 7696 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rids_0, length_rids_0); 7697 } 7698 NDR_PULL_ALLOC_N(ndr, r->in.rids, size_rids_0); 7685 7699 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); 7686 7700 NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0); 7687 for (cntr_rids_0 = 0; cntr_rids_0 < ndr_get_array_length(ndr, &r->in.rids); cntr_rids_0++) {7701 for (cntr_rids_0 = 0; cntr_rids_0 < length_rids_0; cntr_rids_0++) { 7688 7702 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0])); 7689 7703 } … … 11392 11406 { 11393 11407 uint32_t _ptr_system_name; 11408 uint32_t size_system_name_1 = 0; 11409 uint32_t length_system_name_1 = 0; 11394 11410 TALLOC_CTX *_mem_save_system_name_0; 11395 11411 TALLOC_CTX *_mem_save_connect_handle_0; … … 11408 11424 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); 11409 11425 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); 11410 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { 11411 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); 11426 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name); 11427 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name); 11428 if (length_system_name_1 > size_system_name_1) { 11429 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1); 11412 11430 } 11413 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));11414 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));11431 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t))); 11432 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16)); 11415 11433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); 11416 11434 } … … 11716 11734 { 11717 11735 uint32_t _ptr_system_name; 11736 uint32_t size_system_name_1 = 0; 11737 uint32_t length_system_name_1 = 0; 11718 11738 TALLOC_CTX *_mem_save_system_name_0; 11719 11739 TALLOC_CTX *_mem_save_connect_handle_0; … … 11732 11752 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); 11733 11753 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); 11734 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { 11735 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); 11754 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name); 11755 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name); 11756 if (length_system_name_1 > size_system_name_1) { 11757 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1); 11736 11758 } 11737 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));11738 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));11759 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t))); 11760 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16)); 11739 11761 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); 11740 11762 } … … 11817 11839 { 11818 11840 uint32_t _ptr_system_name; 11841 uint32_t size_system_name_1 = 0; 11842 uint32_t length_system_name_1 = 0; 11819 11843 TALLOC_CTX *_mem_save_system_name_0; 11820 11844 TALLOC_CTX *_mem_save_connect_handle_0; … … 11833 11857 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); 11834 11858 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); 11835 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { 11836 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); 11859 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name); 11860 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name); 11861 if (length_system_name_1 > size_system_name_1) { 11862 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1); 11837 11863 } 11838 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));11839 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));11864 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t))); 11865 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16)); 11840 11866 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); 11841 11867 } … … 12217 12243 { 12218 12244 uint32_t _ptr_system_name; 12245 uint32_t size_system_name_1 = 0; 12246 uint32_t length_system_name_1 = 0; 12219 12247 TALLOC_CTX *_mem_save_system_name_0; 12220 12248 TALLOC_CTX *_mem_save_info_in_0; … … 12236 12264 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name)); 12237 12265 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name)); 12238 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) { 12239 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name)); 12266 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name); 12267 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name); 12268 if (length_system_name_1 > size_system_name_1) { 12269 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1); 12240 12270 } 12241 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));12242 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));12271 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t))); 12272 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16)); 12243 12273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0); 12244 12274 }
Note:
See TracChangeset
for help on using the changeset viewer.