Changeset 751 for trunk/server/source3/librpc/gen_ndr/ndr_unixinfo.c
- Timestamp:
- Nov 29, 2012, 1:59:04 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server/source3/librpc/gen_ndr/ndr_unixinfo.c
r745 r751 27 27 static enum ndr_err_code ndr_pull_unixinfo_GetPWUidInfo(struct ndr_pull *ndr, int ndr_flags, struct unixinfo_GetPWUidInfo *r) 28 28 { 29 30 31 32 29 33 if (ndr_flags & NDR_SCALARS) { 30 34 NDR_CHECK(ndr_pull_array_size(ndr, &r->shell)); … … 33 37 NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir)); 34 38 NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir)); 35 if (ndr_get_array_length(ndr, &r->homedir) > ndr_get_array_size(ndr, &r->homedir)) { 36 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->homedir), ndr_get_array_length(ndr, &r->homedir)); 37 } 38 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t))); 39 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t), CH_UTF8)); 39 size_homedir_0 = ndr_get_array_size(ndr, &r->homedir); 40 length_homedir_0 = ndr_get_array_length(ndr, &r->homedir); 41 if (length_homedir_0 > size_homedir_0) { 42 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_homedir_0, length_homedir_0); 43 } 44 NDR_CHECK(ndr_check_string_terminator(ndr, length_homedir_0, sizeof(uint8_t))); 45 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, length_homedir_0, sizeof(uint8_t), CH_UTF8)); 40 46 NDR_CHECK(ndr_pull_array_length(ndr, &r->shell)); 41 if (ndr_get_array_length(ndr, &r->shell) > ndr_get_array_size(ndr, &r->shell)) { 42 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->shell), ndr_get_array_length(ndr, &r->shell)); 43 } 44 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t))); 45 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t), CH_UTF8)); 47 size_shell_0 = ndr_get_array_size(ndr, &r->shell); 48 length_shell_0 = ndr_get_array_length(ndr, &r->shell); 49 if (length_shell_0 > size_shell_0) { 50 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_shell_0, length_shell_0); 51 } 52 NDR_CHECK(ndr_check_string_terminator(ndr, length_shell_0, sizeof(uint8_t))); 53 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, length_shell_0, sizeof(uint8_t), CH_UTF8)); 46 54 NDR_CHECK(ndr_pull_trailer_align(ndr, 4)); 47 55 } … … 352 360 static enum ndr_err_code ndr_pull_unixinfo_GetPWUid(struct ndr_pull *ndr, int flags, struct unixinfo_GetPWUid *r) 353 361 { 362 354 363 uint32_t cntr_uids_0; 364 355 365 uint32_t cntr_infos_0; 356 366 TALLOC_CTX *_mem_save_count_0; … … 371 381 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); 372 382 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.uids)); 373 NDR_PULL_ALLOC_N(ndr, r->in.uids, ndr_get_array_size(ndr, &r->in.uids)); 383 size_uids_0 = ndr_get_array_size(ndr, &r->in.uids); 384 NDR_PULL_ALLOC_N(ndr, r->in.uids, size_uids_0); 374 385 _mem_save_uids_0 = NDR_PULL_GET_MEM_CTX(ndr); 375 386 NDR_PULL_SET_MEM_CTX(ndr, r->in.uids, 0); 376 for (cntr_uids_0 = 0; cntr_uids_0 < *r->in.count; cntr_uids_0++) {387 for (cntr_uids_0 = 0; cntr_uids_0 < ; cntr_uids_0++) { 377 388 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.uids[cntr_uids_0])); 378 389 } … … 396 407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC); 397 408 NDR_CHECK(ndr_pull_array_size(ndr, &r->out.infos)); 398 NDR_PULL_ALLOC_N(ndr, r->out.infos, ndr_get_array_size(ndr, &r->out.infos)); 409 size_infos_0 = ndr_get_array_size(ndr, &r->out.infos); 410 NDR_PULL_ALLOC_N(ndr, r->out.infos, size_infos_0); 399 411 _mem_save_infos_0 = NDR_PULL_GET_MEM_CTX(ndr); 400 412 NDR_PULL_SET_MEM_CTX(ndr, r->out.infos, 0); 401 for (cntr_infos_0 = 0; cntr_infos_0 < *r->out.count; cntr_infos_0++) {413 for (cntr_infos_0 = 0; cntr_infos_0 < ; cntr_infos_0++) { 402 414 NDR_CHECK(ndr_pull_unixinfo_GetPWUidInfo(ndr, NDR_SCALARS, &r->out.infos[cntr_infos_0])); 403 415 }
Note:
See TracChangeset
for help on using the changeset viewer.
