~ubuntu-branches/ubuntu/oneiric/samba/oneiric-security

« back to all changes in this revision

Viewing changes to librpc/gen_ndr/ndr_dfs.c

  • Committer: Package Import Robot
  • Author(s): Tyler Hicks
  • Date: 2012-04-12 05:28:44 UTC
  • mfrom: (147.1.1 oneiric-proposed)
  • Revision ID: package-import@ubuntu.com-20120412052844-348q6l4dcb303sdu
Tags: 2:3.5.11~dfsg-1ubuntu2.2
* SECURITY UPDATE: Unauthenticated remote code execution via
  RPC calls (LP: #978458)
  - debian/patches/CVE-2012-1182-1.patch: Fix PIDL compiler to generate code
    that uses the same value for array allocation and array length checks.
    Based on upstream patch.
  - debian/patches/CVE-2012-1182-2.patch: Regenerate PIDL generated files with
    the patched PIDL compiler
  - CVE-2012-1182

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
static enum ndr_err_code ndr_pull_dfs_Info1(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info1 *r)
82
82
{
83
83
        uint32_t _ptr_path;
 
84
        uint32_t size_path_1 = 0;
 
85
        uint32_t length_path_1 = 0;
84
86
        TALLOC_CTX *_mem_save_path_0;
85
87
        if (ndr_flags & NDR_SCALARS) {
86
88
                NDR_CHECK(ndr_pull_align(ndr, 5));
98
100
                        NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
99
101
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
100
102
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
101
 
                        if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
102
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
 
103
                        size_path_1 = ndr_get_array_size(ndr, &r->path);
 
104
                        length_path_1 = ndr_get_array_length(ndr, &r->path);
 
105
                        if (length_path_1 > size_path_1) {
 
106
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
103
107
                        }
104
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
105
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
 
108
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
 
109
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
106
110
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
107
111
                }
108
112
        }
179
183
static enum ndr_err_code ndr_pull_dfs_Info2(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info2 *r)
180
184
{
181
185
        uint32_t _ptr_path;
 
186
        uint32_t size_path_1 = 0;
 
187
        uint32_t length_path_1 = 0;
182
188
        TALLOC_CTX *_mem_save_path_0;
183
189
        uint32_t _ptr_comment;
 
190
        uint32_t size_comment_1 = 0;
 
191
        uint32_t length_comment_1 = 0;
184
192
        TALLOC_CTX *_mem_save_comment_0;
185
193
        if (ndr_flags & NDR_SCALARS) {
186
194
                NDR_CHECK(ndr_pull_align(ndr, 5));
206
214
                        NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
207
215
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
208
216
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
209
 
                        if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
210
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
 
217
                        size_path_1 = ndr_get_array_size(ndr, &r->path);
 
218
                        length_path_1 = ndr_get_array_length(ndr, &r->path);
 
219
                        if (length_path_1 > size_path_1) {
 
220
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
211
221
                        }
212
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
213
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
 
222
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
 
223
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
214
224
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
215
225
                }
216
226
                if (r->comment) {
218
228
                        NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
219
229
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
220
230
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
221
 
                        if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
222
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
 
231
                        size_comment_1 = ndr_get_array_size(ndr, &r->comment);
 
232
                        length_comment_1 = ndr_get_array_length(ndr, &r->comment);
 
233
                        if (length_comment_1 > size_comment_1) {
 
234
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
223
235
                        }
224
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
225
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
 
236
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
 
237
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
226
238
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
227
239
                }
228
240
        }
303
315
static enum ndr_err_code ndr_pull_dfs_StorageInfo(struct ndr_pull *ndr, int ndr_flags, struct dfs_StorageInfo *r)
304
316
{
305
317
        uint32_t _ptr_server;
 
318
        uint32_t size_server_1 = 0;
 
319
        uint32_t length_server_1 = 0;
306
320
        TALLOC_CTX *_mem_save_server_0;
307
321
        uint32_t _ptr_share;
 
322
        uint32_t size_share_1 = 0;
 
323
        uint32_t length_share_1 = 0;
308
324
        TALLOC_CTX *_mem_save_share_0;
309
325
        if (ndr_flags & NDR_SCALARS) {
310
326
                NDR_CHECK(ndr_pull_align(ndr, 5));
329
345
                        NDR_PULL_SET_MEM_CTX(ndr, r->server, 0);
330
346
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->server));
331
347
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->server));
332
 
                        if (ndr_get_array_length(ndr, &r->server) > ndr_get_array_size(ndr, &r->server)) {
333
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->server), ndr_get_array_length(ndr, &r->server));
 
348
                        size_server_1 = ndr_get_array_size(ndr, &r->server);
 
349
                        length_server_1 = ndr_get_array_length(ndr, &r->server);
 
350
                        if (length_server_1 > size_server_1) {
 
351
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_1, length_server_1);
334
352
                        }
335
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->server), sizeof(uint16_t)));
336
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server, ndr_get_array_length(ndr, &r->server), sizeof(uint16_t), CH_UTF16));
 
353
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_server_1, sizeof(uint16_t)));
 
354
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->server, length_server_1, sizeof(uint16_t), CH_UTF16));
337
355
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
338
356
                }
339
357
                if (r->share) {
341
359
                        NDR_PULL_SET_MEM_CTX(ndr, r->share, 0);
342
360
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->share));
343
361
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->share));
344
 
                        if (ndr_get_array_length(ndr, &r->share) > ndr_get_array_size(ndr, &r->share)) {
345
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->share), ndr_get_array_length(ndr, &r->share));
 
362
                        size_share_1 = ndr_get_array_size(ndr, &r->share);
 
363
                        length_share_1 = ndr_get_array_length(ndr, &r->share);
 
364
                        if (length_share_1 > size_share_1) {
 
365
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_1, length_share_1);
346
366
                        }
347
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t)));
348
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share, ndr_get_array_length(ndr, &r->share), sizeof(uint16_t), CH_UTF16));
 
367
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_share_1, sizeof(uint16_t)));
 
368
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->share, length_share_1, sizeof(uint16_t), CH_UTF16));
349
369
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0);
350
370
                }
351
371
        }
413
433
static enum ndr_err_code ndr_pull_dfs_Info3(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info3 *r)
414
434
{
415
435
        uint32_t _ptr_path;
 
436
        uint32_t size_path_1 = 0;
 
437
        uint32_t length_path_1 = 0;
416
438
        TALLOC_CTX *_mem_save_path_0;
417
439
        uint32_t _ptr_comment;
 
440
        uint32_t size_comment_1 = 0;
 
441
        uint32_t length_comment_1 = 0;
418
442
        TALLOC_CTX *_mem_save_comment_0;
419
443
        uint32_t _ptr_stores;
 
444
        uint32_t size_stores_1 = 0;
420
445
        uint32_t cntr_stores_1;
421
446
        TALLOC_CTX *_mem_save_stores_0;
422
447
        TALLOC_CTX *_mem_save_stores_1;
450
475
                        NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
451
476
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
452
477
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
453
 
                        if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
454
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
 
478
                        size_path_1 = ndr_get_array_size(ndr, &r->path);
 
479
                        length_path_1 = ndr_get_array_length(ndr, &r->path);
 
480
                        if (length_path_1 > size_path_1) {
 
481
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
455
482
                        }
456
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
457
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
 
483
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
 
484
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
458
485
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
459
486
                }
460
487
                if (r->comment) {
462
489
                        NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
463
490
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
464
491
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
465
 
                        if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
466
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
 
492
                        size_comment_1 = ndr_get_array_size(ndr, &r->comment);
 
493
                        length_comment_1 = ndr_get_array_length(ndr, &r->comment);
 
494
                        if (length_comment_1 > size_comment_1) {
 
495
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
467
496
                        }
468
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
469
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
 
497
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
 
498
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
470
499
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
471
500
                }
472
501
                if (r->stores) {
473
502
                        _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr);
474
503
                        NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
475
504
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->stores));
476
 
                        NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores));
 
505
                        size_stores_1 = ndr_get_array_size(ndr, &r->stores);
 
506
                        NDR_PULL_ALLOC_N(ndr, r->stores, size_stores_1);
477
507
                        _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr);
478
508
                        NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
479
 
                        for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
 
509
                        for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
480
510
                                NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_SCALARS, &r->stores[cntr_stores_1]));
481
511
                        }
482
 
                        for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
 
512
                        for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
483
513
                                NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1]));
484
514
                        }
485
515
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0);
572
602
static enum ndr_err_code ndr_pull_dfs_Info4(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info4 *r)
573
603
{
574
604
        uint32_t _ptr_path;
 
605
        uint32_t size_path_1 = 0;
 
606
        uint32_t length_path_1 = 0;
575
607
        TALLOC_CTX *_mem_save_path_0;
576
608
        uint32_t _ptr_comment;
 
609
        uint32_t size_comment_1 = 0;
 
610
        uint32_t length_comment_1 = 0;
577
611
        TALLOC_CTX *_mem_save_comment_0;
578
612
        uint32_t _ptr_stores;
 
613
        uint32_t size_stores_1 = 0;
579
614
        uint32_t cntr_stores_1;
580
615
        TALLOC_CTX *_mem_save_stores_0;
581
616
        TALLOC_CTX *_mem_save_stores_1;
611
646
                        NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
612
647
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
613
648
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
614
 
                        if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
615
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
 
649
                        size_path_1 = ndr_get_array_size(ndr, &r->path);
 
650
                        length_path_1 = ndr_get_array_length(ndr, &r->path);
 
651
                        if (length_path_1 > size_path_1) {
 
652
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
616
653
                        }
617
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
618
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
 
654
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
 
655
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
619
656
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
620
657
                }
621
658
                if (r->comment) {
623
660
                        NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
624
661
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
625
662
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
626
 
                        if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
627
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
 
663
                        size_comment_1 = ndr_get_array_size(ndr, &r->comment);
 
664
                        length_comment_1 = ndr_get_array_length(ndr, &r->comment);
 
665
                        if (length_comment_1 > size_comment_1) {
 
666
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
628
667
                        }
629
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
630
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
 
668
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
 
669
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
631
670
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
632
671
                }
633
672
                if (r->stores) {
634
673
                        _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr);
635
674
                        NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
636
675
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->stores));
637
 
                        NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores));
 
676
                        size_stores_1 = ndr_get_array_size(ndr, &r->stores);
 
677
                        NDR_PULL_ALLOC_N(ndr, r->stores, size_stores_1);
638
678
                        _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr);
639
679
                        NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
640
 
                        for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
 
680
                        for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
641
681
                                NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_SCALARS, &r->stores[cntr_stores_1]));
642
682
                        }
643
 
                        for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
 
683
                        for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
644
684
                                NDR_CHECK(ndr_pull_dfs_StorageInfo(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1]));
645
685
                        }
646
686
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0);
752
792
static enum ndr_err_code ndr_pull_dfs_Info5(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info5 *r)
753
793
{
754
794
        uint32_t _ptr_path;
 
795
        uint32_t size_path_1 = 0;
 
796
        uint32_t length_path_1 = 0;
755
797
        TALLOC_CTX *_mem_save_path_0;
756
798
        uint32_t _ptr_comment;
 
799
        uint32_t size_comment_1 = 0;
 
800
        uint32_t length_comment_1 = 0;
757
801
        TALLOC_CTX *_mem_save_comment_0;
758
802
        if (ndr_flags & NDR_SCALARS) {
759
803
                NDR_CHECK(ndr_pull_align(ndr, 5));
783
827
                        NDR_PULL_SET_MEM_CTX(ndr, r->path, 0);
784
828
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->path));
785
829
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->path));
786
 
                        if (ndr_get_array_length(ndr, &r->path) > ndr_get_array_size(ndr, &r->path)) {
787
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->path), ndr_get_array_length(ndr, &r->path));
 
830
                        size_path_1 = ndr_get_array_size(ndr, &r->path);
 
831
                        length_path_1 = ndr_get_array_length(ndr, &r->path);
 
832
                        if (length_path_1 > size_path_1) {
 
833
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
788
834
                        }
789
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t)));
790
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, ndr_get_array_length(ndr, &r->path), sizeof(uint16_t), CH_UTF16));
 
835
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
 
836
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->path, length_path_1, sizeof(uint16_t), CH_UTF16));
791
837
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_path_0, 0);
792
838
                }
793
839
                if (r->comment) {
795
841
                        NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
796
842
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
797
843
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
798
 
                        if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
799
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
 
844
                        size_comment_1 = ndr_get_array_size(ndr, &r->comment);
 
845
                        length_comment_1 = ndr_get_array_length(ndr, &r->comment);
 
846
                        if (length_comment_1 > size_comment_1) {
 
847
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
800
848
                        }
801
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
802
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
 
849
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
 
850
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
803
851
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
804
852
                }
805
853
        }
980
1028
static enum ndr_err_code ndr_pull_dfs_Info6(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info6 *r)
981
1029
{
982
1030
        uint32_t _ptr_entry_path;
 
1031
        uint32_t size_entry_path_1 = 0;
 
1032
        uint32_t length_entry_path_1 = 0;
983
1033
        TALLOC_CTX *_mem_save_entry_path_0;
984
1034
        uint32_t _ptr_comment;
 
1035
        uint32_t size_comment_1 = 0;
 
1036
        uint32_t length_comment_1 = 0;
985
1037
        TALLOC_CTX *_mem_save_comment_0;
986
1038
        uint32_t _ptr_stores;
 
1039
        uint32_t size_stores_1 = 0;
987
1040
        uint32_t cntr_stores_1;
988
1041
        TALLOC_CTX *_mem_save_stores_0;
989
1042
        TALLOC_CTX *_mem_save_stores_1;
1021
1074
                        NDR_PULL_SET_MEM_CTX(ndr, r->entry_path, 0);
1022
1075
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->entry_path));
1023
1076
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->entry_path));
1024
 
                        if (ndr_get_array_length(ndr, &r->entry_path) > ndr_get_array_size(ndr, &r->entry_path)) {
1025
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->entry_path), ndr_get_array_length(ndr, &r->entry_path));
 
1077
                        size_entry_path_1 = ndr_get_array_size(ndr, &r->entry_path);
 
1078
                        length_entry_path_1 = ndr_get_array_length(ndr, &r->entry_path);
 
1079
                        if (length_entry_path_1 > size_entry_path_1) {
 
1080
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_entry_path_1, length_entry_path_1);
1026
1081
                        }
1027
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->entry_path), sizeof(uint16_t)));
1028
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->entry_path, ndr_get_array_length(ndr, &r->entry_path), sizeof(uint16_t), CH_UTF16));
 
1082
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_entry_path_1, sizeof(uint16_t)));
 
1083
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->entry_path, length_entry_path_1, sizeof(uint16_t), CH_UTF16));
1029
1084
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entry_path_0, 0);
1030
1085
                }
1031
1086
                if (r->comment) {
1033
1088
                        NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1034
1089
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
1035
1090
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
1036
 
                        if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
1037
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
 
1091
                        size_comment_1 = ndr_get_array_size(ndr, &r->comment);
 
1092
                        length_comment_1 = ndr_get_array_length(ndr, &r->comment);
 
1093
                        if (length_comment_1 > size_comment_1) {
 
1094
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
1038
1095
                        }
1039
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
1040
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
 
1096
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
 
1097
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
1041
1098
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1042
1099
                }
1043
1100
                if (r->stores) {
1044
1101
                        _mem_save_stores_0 = NDR_PULL_GET_MEM_CTX(ndr);
1045
1102
                        NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
1046
1103
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->stores));
1047
 
                        NDR_PULL_ALLOC_N(ndr, r->stores, ndr_get_array_size(ndr, &r->stores));
 
1104
                        size_stores_1 = ndr_get_array_size(ndr, &r->stores);
 
1105
                        NDR_PULL_ALLOC_N(ndr, r->stores, size_stores_1);
1048
1106
                        _mem_save_stores_1 = NDR_PULL_GET_MEM_CTX(ndr);
1049
1107
                        NDR_PULL_SET_MEM_CTX(ndr, r->stores, 0);
1050
 
                        for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
 
1108
                        for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
1051
1109
                                NDR_CHECK(ndr_pull_dfs_StorageInfo2(ndr, NDR_SCALARS, &r->stores[cntr_stores_1]));
1052
1110
                        }
1053
 
                        for (cntr_stores_1 = 0; cntr_stores_1 < r->num_stores; cntr_stores_1++) {
 
1111
                        for (cntr_stores_1 = 0; cntr_stores_1 < size_stores_1; cntr_stores_1++) {
1054
1112
                                NDR_CHECK(ndr_pull_dfs_StorageInfo2(ndr, NDR_BUFFERS, &r->stores[cntr_stores_1]));
1055
1113
                        }
1056
1114
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_stores_1, 0);
1157
1215
static enum ndr_err_code ndr_pull_dfs_Info100(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info100 *r)
1158
1216
{
1159
1217
        uint32_t _ptr_comment;
 
1218
        uint32_t size_comment_1 = 0;
 
1219
        uint32_t length_comment_1 = 0;
1160
1220
        TALLOC_CTX *_mem_save_comment_0;
1161
1221
        if (ndr_flags & NDR_SCALARS) {
1162
1222
                NDR_CHECK(ndr_pull_align(ndr, 5));
1174
1234
                        NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1175
1235
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
1176
1236
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
1177
 
                        if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
1178
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
 
1237
                        size_comment_1 = ndr_get_array_size(ndr, &r->comment);
 
1238
                        length_comment_1 = ndr_get_array_length(ndr, &r->comment);
 
1239
                        if (length_comment_1 > size_comment_1) {
 
1240
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
1179
1241
                        }
1180
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
1181
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
 
1242
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
 
1243
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
1182
1244
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1183
1245
                }
1184
1246
        }
1351
1413
static enum ndr_err_code ndr_pull_dfs_Info105(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info105 *r)
1352
1414
{
1353
1415
        uint32_t _ptr_comment;
 
1416
        uint32_t size_comment_1 = 0;
 
1417
        uint32_t length_comment_1 = 0;
1354
1418
        TALLOC_CTX *_mem_save_comment_0;
1355
1419
        if (ndr_flags & NDR_SCALARS) {
1356
1420
                NDR_CHECK(ndr_pull_align(ndr, 5));
1372
1436
                        NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
1373
1437
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->comment));
1374
1438
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->comment));
1375
 
                        if (ndr_get_array_length(ndr, &r->comment) > ndr_get_array_size(ndr, &r->comment)) {
1376
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->comment), ndr_get_array_length(ndr, &r->comment));
 
1439
                        size_comment_1 = ndr_get_array_size(ndr, &r->comment);
 
1440
                        length_comment_1 = ndr_get_array_length(ndr, &r->comment);
 
1441
                        if (length_comment_1 > size_comment_1) {
 
1442
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
1377
1443
                        }
1378
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t)));
1379
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, ndr_get_array_length(ndr, &r->comment), sizeof(uint16_t), CH_UTF16));
 
1444
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
 
1445
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
1380
1446
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
1381
1447
                }
1382
1448
        }
1456
1522
static enum ndr_err_code ndr_pull_dfs_Info200(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info200 *r)
1457
1523
{
1458
1524
        uint32_t _ptr_dom_root;
 
1525
        uint32_t size_dom_root_1 = 0;
 
1526
        uint32_t length_dom_root_1 = 0;
1459
1527
        TALLOC_CTX *_mem_save_dom_root_0;
1460
1528
        if (ndr_flags & NDR_SCALARS) {
1461
1529
                NDR_CHECK(ndr_pull_align(ndr, 5));
1473
1541
                        NDR_PULL_SET_MEM_CTX(ndr, r->dom_root, 0);
1474
1542
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->dom_root));
1475
1543
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->dom_root));
1476
 
                        if (ndr_get_array_length(ndr, &r->dom_root) > ndr_get_array_size(ndr, &r->dom_root)) {
1477
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dom_root), ndr_get_array_length(ndr, &r->dom_root));
 
1544
                        size_dom_root_1 = ndr_get_array_size(ndr, &r->dom_root);
 
1545
                        length_dom_root_1 = ndr_get_array_length(ndr, &r->dom_root);
 
1546
                        if (length_dom_root_1 > size_dom_root_1) {
 
1547
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dom_root_1, length_dom_root_1);
1478
1548
                        }
1479
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t)));
1480
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t), CH_UTF16));
 
1549
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_dom_root_1, sizeof(uint16_t)));
 
1550
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, length_dom_root_1, sizeof(uint16_t), CH_UTF16));
1481
1551
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_root_0, 0);
1482
1552
                }
1483
1553
        }
1544
1614
static enum ndr_err_code ndr_pull_dfs_Info300(struct ndr_pull *ndr, int ndr_flags, struct dfs_Info300 *r)
1545
1615
{
1546
1616
        uint32_t _ptr_dom_root;
 
1617
        uint32_t size_dom_root_1 = 0;
 
1618
        uint32_t length_dom_root_1 = 0;
1547
1619
        TALLOC_CTX *_mem_save_dom_root_0;
1548
1620
        if (ndr_flags & NDR_SCALARS) {
1549
1621
                NDR_CHECK(ndr_pull_align(ndr, 5));
1562
1634
                        NDR_PULL_SET_MEM_CTX(ndr, r->dom_root, 0);
1563
1635
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->dom_root));
1564
1636
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->dom_root));
1565
 
                        if (ndr_get_array_length(ndr, &r->dom_root) > ndr_get_array_size(ndr, &r->dom_root)) {
1566
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dom_root), ndr_get_array_length(ndr, &r->dom_root));
 
1637
                        size_dom_root_1 = ndr_get_array_size(ndr, &r->dom_root);
 
1638
                        length_dom_root_1 = ndr_get_array_length(ndr, &r->dom_root);
 
1639
                        if (length_dom_root_1 > size_dom_root_1) {
 
1640
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dom_root_1, length_dom_root_1);
1567
1641
                        }
1568
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t)));
1569
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, ndr_get_array_length(ndr, &r->dom_root), sizeof(uint16_t), CH_UTF16));
 
1642
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_dom_root_1, sizeof(uint16_t)));
 
1643
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dom_root, length_dom_root_1, sizeof(uint16_t), CH_UTF16));
1570
1644
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_root_0, 0);
1571
1645
                }
1572
1646
        }
1763
1837
        int level;
1764
1838
        uint32_t _level;
1765
1839
        TALLOC_CTX *_mem_save_info0_0;
 
1840
        uint32_t _ptr_info0;
1766
1841
        TALLOC_CTX *_mem_save_info1_0;
 
1842
        uint32_t _ptr_info1;
1767
1843
        TALLOC_CTX *_mem_save_info2_0;
 
1844
        uint32_t _ptr_info2;
1768
1845
        TALLOC_CTX *_mem_save_info3_0;
 
1846
        uint32_t _ptr_info3;
1769
1847
        TALLOC_CTX *_mem_save_info4_0;
 
1848
        uint32_t _ptr_info4;
1770
1849
        TALLOC_CTX *_mem_save_info5_0;
 
1850
        uint32_t _ptr_info5;
1771
1851
        TALLOC_CTX *_mem_save_info6_0;
 
1852
        uint32_t _ptr_info6;
1772
1853
        TALLOC_CTX *_mem_save_info7_0;
 
1854
        uint32_t _ptr_info7;
1773
1855
        TALLOC_CTX *_mem_save_info100_0;
 
1856
        uint32_t _ptr_info100;
1774
1857
        TALLOC_CTX *_mem_save_info101_0;
 
1858
        uint32_t _ptr_info101;
1775
1859
        TALLOC_CTX *_mem_save_info102_0;
 
1860
        uint32_t _ptr_info102;
1776
1861
        TALLOC_CTX *_mem_save_info103_0;
 
1862
        uint32_t _ptr_info103;
1777
1863
        TALLOC_CTX *_mem_save_info104_0;
 
1864
        uint32_t _ptr_info104;
1778
1865
        TALLOC_CTX *_mem_save_info105_0;
 
1866
        uint32_t _ptr_info105;
1779
1867
        TALLOC_CTX *_mem_save_info106_0;
 
1868
        uint32_t _ptr_info106;
1780
1869
        level = ndr_pull_get_switch_value(ndr, r);
1781
1870
        if (ndr_flags & NDR_SCALARS) {
1782
1871
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1786
1875
                NDR_CHECK(ndr_pull_union_align(ndr, 5));
1787
1876
                switch (level) {
1788
1877
                        case 0: {
1789
 
                                uint32_t _ptr_info0;
1790
1878
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info0));
1791
1879
                                if (_ptr_info0) {
1792
1880
                                        NDR_PULL_ALLOC(ndr, r->info0);
1796
1884
                        break; }
1797
1885
 
1798
1886
                        case 1: {
1799
 
                                uint32_t _ptr_info1;
1800
1887
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
1801
1888
                                if (_ptr_info1) {
1802
1889
                                        NDR_PULL_ALLOC(ndr, r->info1);
1806
1893
                        break; }
1807
1894
 
1808
1895
                        case 2: {
1809
 
                                uint32_t _ptr_info2;
1810
1896
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
1811
1897
                                if (_ptr_info2) {
1812
1898
                                        NDR_PULL_ALLOC(ndr, r->info2);
1816
1902
                        break; }
1817
1903
 
1818
1904
                        case 3: {
1819
 
                                uint32_t _ptr_info3;
1820
1905
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
1821
1906
                                if (_ptr_info3) {
1822
1907
                                        NDR_PULL_ALLOC(ndr, r->info3);
1826
1911
                        break; }
1827
1912
 
1828
1913
                        case 4: {
1829
 
                                uint32_t _ptr_info4;
1830
1914
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
1831
1915
                                if (_ptr_info4) {
1832
1916
                                        NDR_PULL_ALLOC(ndr, r->info4);
1836
1920
                        break; }
1837
1921
 
1838
1922
                        case 5: {
1839
 
                                uint32_t _ptr_info5;
1840
1923
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
1841
1924
                                if (_ptr_info5) {
1842
1925
                                        NDR_PULL_ALLOC(ndr, r->info5);
1846
1929
                        break; }
1847
1930
 
1848
1931
                        case 6: {
1849
 
                                uint32_t _ptr_info6;
1850
1932
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
1851
1933
                                if (_ptr_info6) {
1852
1934
                                        NDR_PULL_ALLOC(ndr, r->info6);
1856
1938
                        break; }
1857
1939
 
1858
1940
                        case 7: {
1859
 
                                uint32_t _ptr_info7;
1860
1941
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info7));
1861
1942
                                if (_ptr_info7) {
1862
1943
                                        NDR_PULL_ALLOC(ndr, r->info7);
1866
1947
                        break; }
1867
1948
 
1868
1949
                        case 100: {
1869
 
                                uint32_t _ptr_info100;
1870
1950
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info100));
1871
1951
                                if (_ptr_info100) {
1872
1952
                                        NDR_PULL_ALLOC(ndr, r->info100);
1876
1956
                        break; }
1877
1957
 
1878
1958
                        case 101: {
1879
 
                                uint32_t _ptr_info101;
1880
1959
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info101));
1881
1960
                                if (_ptr_info101) {
1882
1961
                                        NDR_PULL_ALLOC(ndr, r->info101);
1886
1965
                        break; }
1887
1966
 
1888
1967
                        case 102: {
1889
 
                                uint32_t _ptr_info102;
1890
1968
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info102));
1891
1969
                                if (_ptr_info102) {
1892
1970
                                        NDR_PULL_ALLOC(ndr, r->info102);
1896
1974
                        break; }
1897
1975
 
1898
1976
                        case 103: {
1899
 
                                uint32_t _ptr_info103;
1900
1977
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info103));
1901
1978
                                if (_ptr_info103) {
1902
1979
                                        NDR_PULL_ALLOC(ndr, r->info103);
1906
1983
                        break; }
1907
1984
 
1908
1985
                        case 104: {
1909
 
                                uint32_t _ptr_info104;
1910
1986
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info104));
1911
1987
                                if (_ptr_info104) {
1912
1988
                                        NDR_PULL_ALLOC(ndr, r->info104);
1916
1992
                        break; }
1917
1993
 
1918
1994
                        case 105: {
1919
 
                                uint32_t _ptr_info105;
1920
1995
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info105));
1921
1996
                                if (_ptr_info105) {
1922
1997
                                        NDR_PULL_ALLOC(ndr, r->info105);
1926
2001
                        break; }
1927
2002
 
1928
2003
                        case 106: {
1929
 
                                uint32_t _ptr_info106;
1930
2004
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info106));
1931
2005
                                if (_ptr_info106) {
1932
2006
                                        NDR_PULL_ALLOC(ndr, r->info106);
2255
2329
static enum ndr_err_code ndr_pull_dfs_EnumArray1(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray1 *r)
2256
2330
{
2257
2331
        uint32_t _ptr_s;
 
2332
        uint32_t size_s_1 = 0;
2258
2333
        uint32_t cntr_s_1;
2259
2334
        TALLOC_CTX *_mem_save_s_0;
2260
2335
        TALLOC_CTX *_mem_save_s_1;
2274
2349
                        _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
2275
2350
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2276
2351
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
2277
 
                        NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
 
2352
                        size_s_1 = ndr_get_array_size(ndr, &r->s);
 
2353
                        NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
2278
2354
                        _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
2279
2355
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2280
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2356
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2281
2357
                                NDR_CHECK(ndr_pull_dfs_Info1(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
2282
2358
                        }
2283
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2359
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2284
2360
                                NDR_CHECK(ndr_pull_dfs_Info1(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
2285
2361
                        }
2286
2362
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
2343
2419
static enum ndr_err_code ndr_pull_dfs_EnumArray2(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray2 *r)
2344
2420
{
2345
2421
        uint32_t _ptr_s;
 
2422
        uint32_t size_s_1 = 0;
2346
2423
        uint32_t cntr_s_1;
2347
2424
        TALLOC_CTX *_mem_save_s_0;
2348
2425
        TALLOC_CTX *_mem_save_s_1;
2362
2439
                        _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
2363
2440
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2364
2441
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
2365
 
                        NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
 
2442
                        size_s_1 = ndr_get_array_size(ndr, &r->s);
 
2443
                        NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
2366
2444
                        _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
2367
2445
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2368
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2446
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2369
2447
                                NDR_CHECK(ndr_pull_dfs_Info2(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
2370
2448
                        }
2371
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2449
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2372
2450
                                NDR_CHECK(ndr_pull_dfs_Info2(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
2373
2451
                        }
2374
2452
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
2431
2509
static enum ndr_err_code ndr_pull_dfs_EnumArray3(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray3 *r)
2432
2510
{
2433
2511
        uint32_t _ptr_s;
 
2512
        uint32_t size_s_1 = 0;
2434
2513
        uint32_t cntr_s_1;
2435
2514
        TALLOC_CTX *_mem_save_s_0;
2436
2515
        TALLOC_CTX *_mem_save_s_1;
2450
2529
                        _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
2451
2530
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2452
2531
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
2453
 
                        NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
 
2532
                        size_s_1 = ndr_get_array_size(ndr, &r->s);
 
2533
                        NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
2454
2534
                        _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
2455
2535
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2456
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2536
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2457
2537
                                NDR_CHECK(ndr_pull_dfs_Info3(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
2458
2538
                        }
2459
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2539
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2460
2540
                                NDR_CHECK(ndr_pull_dfs_Info3(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
2461
2541
                        }
2462
2542
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
2519
2599
static enum ndr_err_code ndr_pull_dfs_EnumArray4(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray4 *r)
2520
2600
{
2521
2601
        uint32_t _ptr_s;
 
2602
        uint32_t size_s_1 = 0;
2522
2603
        uint32_t cntr_s_1;
2523
2604
        TALLOC_CTX *_mem_save_s_0;
2524
2605
        TALLOC_CTX *_mem_save_s_1;
2538
2619
                        _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
2539
2620
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2540
2621
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
2541
 
                        NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
 
2622
                        size_s_1 = ndr_get_array_size(ndr, &r->s);
 
2623
                        NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
2542
2624
                        _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
2543
2625
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2544
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2626
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2545
2627
                                NDR_CHECK(ndr_pull_dfs_Info4(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
2546
2628
                        }
2547
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2629
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2548
2630
                                NDR_CHECK(ndr_pull_dfs_Info4(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
2549
2631
                        }
2550
2632
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
2607
2689
static enum ndr_err_code ndr_pull_dfs_EnumArray5(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray5 *r)
2608
2690
{
2609
2691
        uint32_t _ptr_s;
 
2692
        uint32_t size_s_1 = 0;
2610
2693
        uint32_t cntr_s_1;
2611
2694
        TALLOC_CTX *_mem_save_s_0;
2612
2695
        TALLOC_CTX *_mem_save_s_1;
2626
2709
                        _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
2627
2710
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2628
2711
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
2629
 
                        NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
 
2712
                        size_s_1 = ndr_get_array_size(ndr, &r->s);
 
2713
                        NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
2630
2714
                        _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
2631
2715
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2632
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2716
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2633
2717
                                NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
2634
2718
                        }
2635
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2719
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2636
2720
                                NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
2637
2721
                        }
2638
2722
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
2695
2779
static enum ndr_err_code ndr_pull_dfs_EnumArray6(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray6 *r)
2696
2780
{
2697
2781
        uint32_t _ptr_s;
 
2782
        uint32_t size_s_1 = 0;
2698
2783
        uint32_t cntr_s_1;
2699
2784
        TALLOC_CTX *_mem_save_s_0;
2700
2785
        TALLOC_CTX *_mem_save_s_1;
2714
2799
                        _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
2715
2800
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2716
2801
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
2717
 
                        NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
 
2802
                        size_s_1 = ndr_get_array_size(ndr, &r->s);
 
2803
                        NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
2718
2804
                        _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
2719
2805
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2720
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2806
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2721
2807
                                NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
2722
2808
                        }
2723
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2809
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2724
2810
                                NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
2725
2811
                        }
2726
2812
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
2783
2869
static enum ndr_err_code ndr_pull_dfs_EnumArray200(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray200 *r)
2784
2870
{
2785
2871
        uint32_t _ptr_s;
 
2872
        uint32_t size_s_1 = 0;
2786
2873
        uint32_t cntr_s_1;
2787
2874
        TALLOC_CTX *_mem_save_s_0;
2788
2875
        TALLOC_CTX *_mem_save_s_1;
2802
2889
                        _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
2803
2890
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2804
2891
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
2805
 
                        NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
 
2892
                        size_s_1 = ndr_get_array_size(ndr, &r->s);
 
2893
                        NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
2806
2894
                        _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
2807
2895
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2808
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2896
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2809
2897
                                NDR_CHECK(ndr_pull_dfs_Info200(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
2810
2898
                        }
2811
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2899
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2812
2900
                                NDR_CHECK(ndr_pull_dfs_Info200(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
2813
2901
                        }
2814
2902
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
2871
2959
static enum ndr_err_code ndr_pull_dfs_EnumArray300(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray300 *r)
2872
2960
{
2873
2961
        uint32_t _ptr_s;
 
2962
        uint32_t size_s_1 = 0;
2874
2963
        uint32_t cntr_s_1;
2875
2964
        TALLOC_CTX *_mem_save_s_0;
2876
2965
        TALLOC_CTX *_mem_save_s_1;
2890
2979
                        _mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
2891
2980
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2892
2981
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
2893
 
                        NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
 
2982
                        size_s_1 = ndr_get_array_size(ndr, &r->s);
 
2983
                        NDR_PULL_ALLOC_N(ndr, r->s, size_s_1);
2894
2984
                        _mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
2895
2985
                        NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
2896
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2986
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2897
2987
                                NDR_CHECK(ndr_pull_dfs_Info300(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
2898
2988
                        }
2899
 
                        for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
 
2989
                        for (cntr_s_1 = 0; cntr_s_1 < size_s_1; cntr_s_1++) {
2900
2990
                                NDR_CHECK(ndr_pull_dfs_Info300(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
2901
2991
                        }
2902
2992
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
3039
3129
        int level;
3040
3130
        uint32_t _level;
3041
3131
        TALLOC_CTX *_mem_save_info1_0;
 
3132
        uint32_t _ptr_info1;
3042
3133
        TALLOC_CTX *_mem_save_info2_0;
 
3134
        uint32_t _ptr_info2;
3043
3135
        TALLOC_CTX *_mem_save_info3_0;
 
3136
        uint32_t _ptr_info3;
3044
3137
        TALLOC_CTX *_mem_save_info4_0;
 
3138
        uint32_t _ptr_info4;
3045
3139
        TALLOC_CTX *_mem_save_info5_0;
 
3140
        uint32_t _ptr_info5;
3046
3141
        TALLOC_CTX *_mem_save_info6_0;
 
3142
        uint32_t _ptr_info6;
3047
3143
        TALLOC_CTX *_mem_save_info200_0;
 
3144
        uint32_t _ptr_info200;
3048
3145
        TALLOC_CTX *_mem_save_info300_0;
 
3146
        uint32_t _ptr_info300;
3049
3147
        level = ndr_pull_get_switch_value(ndr, r);
3050
3148
        if (ndr_flags & NDR_SCALARS) {
3051
3149
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3055
3153
                NDR_CHECK(ndr_pull_union_align(ndr, 5));
3056
3154
                switch (level) {
3057
3155
                        case 1: {
3058
 
                                uint32_t _ptr_info1;
3059
3156
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info1));
3060
3157
                                if (_ptr_info1) {
3061
3158
                                        NDR_PULL_ALLOC(ndr, r->info1);
3065
3162
                        break; }
3066
3163
 
3067
3164
                        case 2: {
3068
 
                                uint32_t _ptr_info2;
3069
3165
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info2));
3070
3166
                                if (_ptr_info2) {
3071
3167
                                        NDR_PULL_ALLOC(ndr, r->info2);
3075
3171
                        break; }
3076
3172
 
3077
3173
                        case 3: {
3078
 
                                uint32_t _ptr_info3;
3079
3174
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
3080
3175
                                if (_ptr_info3) {
3081
3176
                                        NDR_PULL_ALLOC(ndr, r->info3);
3085
3180
                        break; }
3086
3181
 
3087
3182
                        case 4: {
3088
 
                                uint32_t _ptr_info4;
3089
3183
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info4));
3090
3184
                                if (_ptr_info4) {
3091
3185
                                        NDR_PULL_ALLOC(ndr, r->info4);
3095
3189
                        break; }
3096
3190
 
3097
3191
                        case 5: {
3098
 
                                uint32_t _ptr_info5;
3099
3192
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
3100
3193
                                if (_ptr_info5) {
3101
3194
                                        NDR_PULL_ALLOC(ndr, r->info5);
3105
3198
                        break; }
3106
3199
 
3107
3200
                        case 6: {
3108
 
                                uint32_t _ptr_info6;
3109
3201
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
3110
3202
                                if (_ptr_info6) {
3111
3203
                                        NDR_PULL_ALLOC(ndr, r->info6);
3115
3207
                        break; }
3116
3208
 
3117
3209
                        case 200: {
3118
 
                                uint32_t _ptr_info200;
3119
3210
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info200));
3120
3211
                                if (_ptr_info200) {
3121
3212
                                        NDR_PULL_ALLOC(ndr, r->info200);
3125
3216
                        break; }
3126
3217
 
3127
3218
                        case 300: {
3128
 
                                uint32_t _ptr_info300;
3129
3219
                                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info300));
3130
3220
                                if (_ptr_info300) {
3131
3221
                                        NDR_PULL_ALLOC(ndr, r->info300);
3364
3454
static enum ndr_err_code ndr_pull_dfs_UnknownStruct(struct ndr_pull *ndr, int ndr_flags, struct dfs_UnknownStruct *r)
3365
3455
{
3366
3456
        uint32_t _ptr_unknown2;
 
3457
        uint32_t size_unknown2_1 = 0;
 
3458
        uint32_t length_unknown2_1 = 0;
3367
3459
        TALLOC_CTX *_mem_save_unknown2_0;
3368
3460
        if (ndr_flags & NDR_SCALARS) {
3369
3461
                NDR_CHECK(ndr_pull_align(ndr, 5));
3382
3474
                        NDR_PULL_SET_MEM_CTX(ndr, r->unknown2, 0);
3383
3475
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->unknown2));
3384
3476
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->unknown2));
3385
 
                        if (ndr_get_array_length(ndr, &r->unknown2) > ndr_get_array_size(ndr, &r->unknown2)) {
3386
 
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unknown2), ndr_get_array_length(ndr, &r->unknown2));
 
3477
                        size_unknown2_1 = ndr_get_array_size(ndr, &r->unknown2);
 
3478
                        length_unknown2_1 = ndr_get_array_length(ndr, &r->unknown2);
 
3479
                        if (length_unknown2_1 > size_unknown2_1) {
 
3480
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_unknown2_1, length_unknown2_1);
3387
3481
                        }
3388
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t)));
3389
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, ndr_get_array_length(ndr, &r->unknown2), sizeof(uint16_t), CH_UTF16));
 
3482
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_unknown2_1, sizeof(uint16_t)));
 
3483
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unknown2, length_unknown2_1, sizeof(uint16_t), CH_UTF16));
3390
3484
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown2_0, 0);
3391
3485
                }
3392
3486
        }
3506
3600
 
3507
3601
static enum ndr_err_code ndr_pull_dfs_Add(struct ndr_pull *ndr, int flags, struct dfs_Add *r)
3508
3602
{
 
3603
        uint32_t size_path_1 = 0;
 
3604
        uint32_t length_path_1 = 0;
 
3605
        uint32_t size_server_1 = 0;
 
3606
        uint32_t length_server_1 = 0;
3509
3607
        uint32_t _ptr_share;
 
3608
        uint32_t size_share_1 = 0;
 
3609
        uint32_t length_share_1 = 0;
3510
3610
        uint32_t _ptr_comment;
 
3611
        uint32_t size_comment_1 = 0;
 
3612
        uint32_t length_comment_1 = 0;
3511
3613
        TALLOC_CTX *_mem_save_share_0;
3512
3614
        TALLOC_CTX *_mem_save_comment_0;
3513
3615
        if (flags & NDR_IN) {
3514
3616
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.path));
3515
3617
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.path));
3516
 
                if (ndr_get_array_length(ndr, &r->in.path) > ndr_get_array_size(ndr, &r->in.path)) {
3517
 
                        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.path), ndr_get_array_length(ndr, &r->in.path));
 
3618
                size_path_1 = ndr_get_array_size(ndr, &r->in.path);
 
3619
                length_path_1 = ndr_get_array_length(ndr, &r->in.path);
 
3620
                if (length_path_1 > size_path_1) {
 
3621
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_path_1, length_path_1);
3518
3622
                }
3519
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t)));
3520
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, ndr_get_array_length(ndr, &r->in.path), sizeof(uint16_t), CH_UTF16));
 
3623
                NDR_CHECK(ndr_check_string_terminator(ndr, length_path_1, sizeof(uint16_t)));
 
3624
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.path, length_path_1, sizeof(uint16_t), CH_UTF16));
3521
3625
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server));
3522
3626
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server));
3523
 
                if (ndr_get_array_length(ndr, &r->in.server) > ndr_get_array_size(ndr, &r->in.server)) {
3524
 
                        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.server), ndr_get_array_length(ndr, &r->in.server));
 
3627
                size_server_1 = ndr_get_array_size(ndr, &r->in.server);
 
3628
                length_server_1 = ndr_get_array_length(ndr, &r->in.server);
 
3629
                if (length_server_1 > size_server_1) {
 
3630
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_1, length_server_1);
3525
3631
                }
3526
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t)));
3527
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, ndr_get_array_length(ndr, &r->in.server), sizeof(uint16_t), CH_UTF16));
 
3632
                NDR_CHECK(ndr_check_string_terminator(ndr, length_server_1, sizeof(uint16_t)));
 
3633
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server, length_server_1, sizeof(uint16_t), CH_UTF16));
3528
3634
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_share));
3529
3635
                if (_ptr_share) {
3530
3636
                        NDR_PULL_ALLOC(ndr, r->in.share);
3536
3642
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.share, 0);
3537
3643
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.share));
3538
3644
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.share));
3539
 
                        if (ndr_get_array_length(ndr, &r->in.share) > ndr_get_array_size(ndr, &r->in.share)) {
3540
 
                                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.share), ndr_get_array_length(ndr, &r->in.share));
 
3645
                        size_share_1 = ndr_get_array_size(ndr, &r->in.share);
 
3646
                        length_share_1 = ndr_get_array_length(ndr, &r->in.share);
 
3647
                        if (length_share_1 > size_share_1) {
 
3648
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_share_1, length_share_1);
3541
3649
                        }
3542
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t)));
3543
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, ndr_get_array_length(ndr, &r->in.share), sizeof(uint16_t), CH_UTF16));
 
3650
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_share_1, sizeof(uint16_t)));
 
3651
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.share, length_share_1, sizeof(uint16_t), CH_UTF16));
3544
3652
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_share_0, 0);
3545
3653
                }
3546
3654
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
3554
3662
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.comment, 0);
3555
3663
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment));
3556
3664
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment));
3557
 
                        if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) {
3558
 
                                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.comment), ndr_get_array_length(ndr, &r->in.comment));
 
3665
                        size_comment_1 = ndr_get_array_size(ndr, &r->in.comment);
 
3666
                        length_comment_1 = ndr_get_array_length(ndr, &r->in.comment);
 
3667
                        if (length_comment_1 > size_comment_1) {
 
3668
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_1, length_comment_1);
3559
3669
                        }
3560
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t)));
3561
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16));
 
3670
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_1, sizeof(uint16_t)));
 
3671
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, length_comment_1, sizeof(uint16_t), CH_UTF16));
3562
3672
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
3563
3673
                }
3564
3674
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
3644
3754
 
3645
3755
static enum ndr_err_code ndr_pull_dfs_Remove(struct ndr_pull *ndr, int flags, struct dfs_Remove *r)
3646
3756
{
 
3757
        uint32_t size_dfs_entry_path_1 = 0;
 
3758
        uint32_t length_dfs_entry_path_1 = 0;
3647
3759
        uint32_t _ptr_servername;
 
3760
        uint32_t size_servername_1 = 0;
 
3761
        uint32_t length_servername_1 = 0;
3648
3762
        uint32_t _ptr_sharename;
 
3763
        uint32_t size_sharename_1 = 0;
 
3764
        uint32_t length_sharename_1 = 0;
3649
3765
        TALLOC_CTX *_mem_save_servername_0;
3650
3766
        TALLOC_CTX *_mem_save_sharename_0;
3651
3767
        if (flags & NDR_IN) {
3652
3768
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path));
3653
3769
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path));
3654
 
                if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) {
3655
 
                        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.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path));
 
3770
                size_dfs_entry_path_1 = ndr_get_array_size(ndr, &r->in.dfs_entry_path);
 
3771
                length_dfs_entry_path_1 = ndr_get_array_length(ndr, &r->in.dfs_entry_path);
 
3772
                if (length_dfs_entry_path_1 > size_dfs_entry_path_1) {
 
3773
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_entry_path_1, length_dfs_entry_path_1);
3656
3774
                }
3657
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t)));
3658
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16));
 
3775
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_entry_path_1, sizeof(uint16_t)));
 
3776
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, length_dfs_entry_path_1, sizeof(uint16_t), CH_UTF16));
3659
3777
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
3660
3778
                if (_ptr_servername) {
3661
3779
                        NDR_PULL_ALLOC(ndr, r->in.servername);
3667
3785
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
3668
3786
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
3669
3787
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
3670
 
                        if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
3671
 
                                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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
3788
                        size_servername_1 = ndr_get_array_size(ndr, &r->in.servername);
 
3789
                        length_servername_1 = ndr_get_array_length(ndr, &r->in.servername);
 
3790
                        if (length_servername_1 > size_servername_1) {
 
3791
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_1, length_servername_1);
3672
3792
                        }
3673
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
3674
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
3793
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_1, sizeof(uint16_t)));
 
3794
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_1, sizeof(uint16_t), CH_UTF16));
3675
3795
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
3676
3796
                }
3677
3797
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
3685
3805
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0);
3686
3806
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename));
3687
3807
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename));
3688
 
                        if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) {
3689
 
                                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.sharename), ndr_get_array_length(ndr, &r->in.sharename));
 
3808
                        size_sharename_1 = ndr_get_array_size(ndr, &r->in.sharename);
 
3809
                        length_sharename_1 = ndr_get_array_length(ndr, &r->in.sharename);
 
3810
                        if (length_sharename_1 > size_sharename_1) {
 
3811
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sharename_1, length_sharename_1);
3690
3812
                        }
3691
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t)));
3692
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16));
 
3813
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_sharename_1, sizeof(uint16_t)));
 
3814
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, length_sharename_1, sizeof(uint16_t), CH_UTF16));
3693
3815
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
3694
3816
                }
3695
3817
        }
3772
3894
 
3773
3895
static enum ndr_err_code ndr_pull_dfs_SetInfo(struct ndr_pull *ndr, int flags, struct dfs_SetInfo *r)
3774
3896
{
 
3897
        uint32_t size_dfs_entry_path_0 = 0;
 
3898
        uint32_t length_dfs_entry_path_0 = 0;
3775
3899
        uint32_t _ptr_servername;
 
3900
        uint32_t size_servername_1 = 0;
 
3901
        uint32_t length_servername_1 = 0;
3776
3902
        uint32_t _ptr_sharename;
 
3903
        uint32_t size_sharename_1 = 0;
 
3904
        uint32_t length_sharename_1 = 0;
3777
3905
        TALLOC_CTX *_mem_save_servername_0;
3778
3906
        TALLOC_CTX *_mem_save_sharename_0;
3779
3907
        TALLOC_CTX *_mem_save_info_0;
3780
3908
        if (flags & NDR_IN) {
3781
3909
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path));
3782
3910
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path));
3783
 
                if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) {
3784
 
                        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.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path));
 
3911
                size_dfs_entry_path_0 = ndr_get_array_size(ndr, &r->in.dfs_entry_path);
 
3912
                length_dfs_entry_path_0 = ndr_get_array_length(ndr, &r->in.dfs_entry_path);
 
3913
                if (length_dfs_entry_path_0 > size_dfs_entry_path_0) {
 
3914
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_entry_path_0, length_dfs_entry_path_0);
3785
3915
                }
3786
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t)));
3787
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16));
 
3916
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_entry_path_0, sizeof(uint16_t)));
 
3917
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, length_dfs_entry_path_0, sizeof(uint16_t), CH_UTF16));
3788
3918
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
3789
3919
                if (_ptr_servername) {
3790
3920
                        NDR_PULL_ALLOC(ndr, r->in.servername);
3796
3926
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
3797
3927
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
3798
3928
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
3799
 
                        if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
3800
 
                                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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
3929
                        size_servername_1 = ndr_get_array_size(ndr, &r->in.servername);
 
3930
                        length_servername_1 = ndr_get_array_length(ndr, &r->in.servername);
 
3931
                        if (length_servername_1 > size_servername_1) {
 
3932
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_1, length_servername_1);
3801
3933
                        }
3802
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
3803
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
3934
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_1, sizeof(uint16_t)));
 
3935
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_1, sizeof(uint16_t), CH_UTF16));
3804
3936
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
3805
3937
                }
3806
3938
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
3814
3946
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0);
3815
3947
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename));
3816
3948
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename));
3817
 
                        if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) {
3818
 
                                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.sharename), ndr_get_array_length(ndr, &r->in.sharename));
 
3949
                        size_sharename_1 = ndr_get_array_size(ndr, &r->in.sharename);
 
3950
                        length_sharename_1 = ndr_get_array_length(ndr, &r->in.sharename);
 
3951
                        if (length_sharename_1 > size_sharename_1) {
 
3952
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sharename_1, length_sharename_1);
3819
3953
                        }
3820
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t)));
3821
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16));
 
3954
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_sharename_1, sizeof(uint16_t)));
 
3955
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, length_sharename_1, sizeof(uint16_t), CH_UTF16));
3822
3956
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
3823
3957
                }
3824
3958
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
3913
4047
 
3914
4048
static enum ndr_err_code ndr_pull_dfs_GetInfo(struct ndr_pull *ndr, int flags, struct dfs_GetInfo *r)
3915
4049
{
 
4050
        uint32_t size_dfs_entry_path_0 = 0;
 
4051
        uint32_t length_dfs_entry_path_0 = 0;
3916
4052
        uint32_t _ptr_servername;
 
4053
        uint32_t size_servername_1 = 0;
 
4054
        uint32_t length_servername_1 = 0;
3917
4055
        uint32_t _ptr_sharename;
 
4056
        uint32_t size_sharename_1 = 0;
 
4057
        uint32_t length_sharename_1 = 0;
3918
4058
        TALLOC_CTX *_mem_save_servername_0;
3919
4059
        TALLOC_CTX *_mem_save_sharename_0;
3920
4060
        TALLOC_CTX *_mem_save_info_0;
3923
4063
 
3924
4064
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_entry_path));
3925
4065
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_entry_path));
3926
 
                if (ndr_get_array_length(ndr, &r->in.dfs_entry_path) > ndr_get_array_size(ndr, &r->in.dfs_entry_path)) {
3927
 
                        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.dfs_entry_path), ndr_get_array_length(ndr, &r->in.dfs_entry_path));
 
4066
                size_dfs_entry_path_0 = ndr_get_array_size(ndr, &r->in.dfs_entry_path);
 
4067
                length_dfs_entry_path_0 = ndr_get_array_length(ndr, &r->in.dfs_entry_path);
 
4068
                if (length_dfs_entry_path_0 > size_dfs_entry_path_0) {
 
4069
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_entry_path_0, length_dfs_entry_path_0);
3928
4070
                }
3929
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t)));
3930
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, ndr_get_array_length(ndr, &r->in.dfs_entry_path), sizeof(uint16_t), CH_UTF16));
 
4071
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_entry_path_0, sizeof(uint16_t)));
 
4072
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_entry_path, length_dfs_entry_path_0, sizeof(uint16_t), CH_UTF16));
3931
4073
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
3932
4074
                if (_ptr_servername) {
3933
4075
                        NDR_PULL_ALLOC(ndr, r->in.servername);
3939
4081
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.servername, 0);
3940
4082
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
3941
4083
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
3942
 
                        if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
3943
 
                                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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
4084
                        size_servername_1 = ndr_get_array_size(ndr, &r->in.servername);
 
4085
                        length_servername_1 = ndr_get_array_length(ndr, &r->in.servername);
 
4086
                        if (length_servername_1 > size_servername_1) {
 
4087
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_1, length_servername_1);
3944
4088
                        }
3945
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
3946
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
4089
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_1, sizeof(uint16_t)));
 
4090
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_1, sizeof(uint16_t), CH_UTF16));
3947
4091
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
3948
4092
                }
3949
4093
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
3957
4101
                        NDR_PULL_SET_MEM_CTX(ndr, r->in.sharename, 0);
3958
4102
                        NDR_CHECK(ndr_pull_array_size(ndr, &r->in.sharename));
3959
4103
                        NDR_CHECK(ndr_pull_array_length(ndr, &r->in.sharename));
3960
 
                        if (ndr_get_array_length(ndr, &r->in.sharename) > ndr_get_array_size(ndr, &r->in.sharename)) {
3961
 
                                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.sharename), ndr_get_array_length(ndr, &r->in.sharename));
 
4104
                        size_sharename_1 = ndr_get_array_size(ndr, &r->in.sharename);
 
4105
                        length_sharename_1 = ndr_get_array_length(ndr, &r->in.sharename);
 
4106
                        if (length_sharename_1 > size_sharename_1) {
 
4107
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_sharename_1, length_sharename_1);
3962
4108
                        }
3963
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t)));
3964
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, ndr_get_array_length(ndr, &r->in.sharename), sizeof(uint16_t), CH_UTF16));
 
4109
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_sharename_1, sizeof(uint16_t)));
 
4110
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.sharename, length_sharename_1, sizeof(uint16_t), CH_UTF16));
3965
4111
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
3966
4112
                }
3967
4113
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
4379
4525
 
4380
4526
static enum ndr_err_code ndr_pull_dfs_AddFtRoot(struct ndr_pull *ndr, int flags, struct dfs_AddFtRoot *r)
4381
4527
{
 
4528
        uint32_t size_servername_0 = 0;
 
4529
        uint32_t length_servername_0 = 0;
 
4530
        uint32_t size_dns_servername_0 = 0;
 
4531
        uint32_t length_dns_servername_0 = 0;
 
4532
        uint32_t size_dfsname_0 = 0;
 
4533
        uint32_t length_dfsname_0 = 0;
 
4534
        uint32_t size_rootshare_0 = 0;
 
4535
        uint32_t length_rootshare_0 = 0;
 
4536
        uint32_t size_comment_0 = 0;
 
4537
        uint32_t length_comment_0 = 0;
 
4538
        uint32_t size_dfs_config_dn_0 = 0;
 
4539
        uint32_t length_dfs_config_dn_0 = 0;
4382
4540
        uint32_t _ptr_unknown2;
4383
4541
        TALLOC_CTX *_mem_save_unknown2_0;
4384
4542
        TALLOC_CTX *_mem_save_unknown2_1;
4387
4545
 
4388
4546
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
4389
4547
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
4390
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
4391
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
4548
                size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
 
4549
                length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
 
4550
                if (length_servername_0 > size_servername_0) {
 
4551
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
4392
4552
                }
4393
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
4394
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
4553
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
 
4554
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
4395
4555
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_servername));
4396
4556
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_servername));
4397
 
                if (ndr_get_array_length(ndr, &r->in.dns_servername) > ndr_get_array_size(ndr, &r->in.dns_servername)) {
4398
 
                        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.dns_servername), ndr_get_array_length(ndr, &r->in.dns_servername));
 
4557
                size_dns_servername_0 = ndr_get_array_size(ndr, &r->in.dns_servername);
 
4558
                length_dns_servername_0 = ndr_get_array_length(ndr, &r->in.dns_servername);
 
4559
                if (length_dns_servername_0 > size_dns_servername_0) {
 
4560
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_servername_0, length_dns_servername_0);
4399
4561
                }
4400
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t)));
4401
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t), CH_UTF16));
 
4562
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_servername_0, sizeof(uint16_t)));
 
4563
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, length_dns_servername_0, sizeof(uint16_t), CH_UTF16));
4402
4564
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfsname));
4403
4565
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfsname));
4404
 
                if (ndr_get_array_length(ndr, &r->in.dfsname) > ndr_get_array_size(ndr, &r->in.dfsname)) {
4405
 
                        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.dfsname), ndr_get_array_length(ndr, &r->in.dfsname));
 
4566
                size_dfsname_0 = ndr_get_array_size(ndr, &r->in.dfsname);
 
4567
                length_dfsname_0 = ndr_get_array_length(ndr, &r->in.dfsname);
 
4568
                if (length_dfsname_0 > size_dfsname_0) {
 
4569
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfsname_0, length_dfsname_0);
4406
4570
                }
4407
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t)));
4408
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t), CH_UTF16));
 
4571
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dfsname_0, sizeof(uint16_t)));
 
4572
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, length_dfsname_0, sizeof(uint16_t), CH_UTF16));
4409
4573
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
4410
4574
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
4411
 
                if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
4412
 
                        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.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
 
4575
                size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
 
4576
                length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
 
4577
                if (length_rootshare_0 > size_rootshare_0) {
 
4578
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
4413
4579
                }
4414
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
4415
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
 
4580
                NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
 
4581
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
4416
4582
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment));
4417
4583
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment));
4418
 
                if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) {
4419
 
                        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.comment), ndr_get_array_length(ndr, &r->in.comment));
 
4584
                size_comment_0 = ndr_get_array_size(ndr, &r->in.comment);
 
4585
                length_comment_0 = ndr_get_array_length(ndr, &r->in.comment);
 
4586
                if (length_comment_0 > size_comment_0) {
 
4587
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_0, length_comment_0);
4420
4588
                }
4421
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t)));
4422
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16));
 
4589
                NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_0, sizeof(uint16_t)));
 
4590
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, length_comment_0, sizeof(uint16_t), CH_UTF16));
4423
4591
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_config_dn));
4424
4592
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_config_dn));
4425
 
                if (ndr_get_array_length(ndr, &r->in.dfs_config_dn) > ndr_get_array_size(ndr, &r->in.dfs_config_dn)) {
4426
 
                        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.dfs_config_dn), ndr_get_array_length(ndr, &r->in.dfs_config_dn));
 
4593
                size_dfs_config_dn_0 = ndr_get_array_size(ndr, &r->in.dfs_config_dn);
 
4594
                length_dfs_config_dn_0 = ndr_get_array_length(ndr, &r->in.dfs_config_dn);
 
4595
                if (length_dfs_config_dn_0 > size_dfs_config_dn_0) {
 
4596
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_config_dn_0, length_dfs_config_dn_0);
4427
4597
                }
4428
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_config_dn), sizeof(uint16_t)));
4429
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_config_dn, ndr_get_array_length(ndr, &r->in.dfs_config_dn), sizeof(uint16_t), CH_UTF16));
 
4598
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_config_dn_0, sizeof(uint16_t)));
 
4599
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_config_dn, length_dfs_config_dn_0, sizeof(uint16_t), CH_UTF16));
4430
4600
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.unknown1));
4431
4601
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
4432
4602
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown2));
4576
4746
 
4577
4747
static enum ndr_err_code ndr_pull_dfs_RemoveFtRoot(struct ndr_pull *ndr, int flags, struct dfs_RemoveFtRoot *r)
4578
4748
{
 
4749
        uint32_t size_servername_0 = 0;
 
4750
        uint32_t length_servername_0 = 0;
 
4751
        uint32_t size_dns_servername_0 = 0;
 
4752
        uint32_t length_dns_servername_0 = 0;
 
4753
        uint32_t size_dfsname_0 = 0;
 
4754
        uint32_t length_dfsname_0 = 0;
 
4755
        uint32_t size_rootshare_0 = 0;
 
4756
        uint32_t length_rootshare_0 = 0;
4579
4757
        uint32_t _ptr_unknown;
4580
4758
        TALLOC_CTX *_mem_save_unknown_0;
4581
4759
        TALLOC_CTX *_mem_save_unknown_1;
4584
4762
 
4585
4763
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
4586
4764
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
4587
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
4588
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
4765
                size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
 
4766
                length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
 
4767
                if (length_servername_0 > size_servername_0) {
 
4768
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
4589
4769
                }
4590
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
4591
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
4770
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
 
4771
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
4592
4772
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dns_servername));
4593
4773
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dns_servername));
4594
 
                if (ndr_get_array_length(ndr, &r->in.dns_servername) > ndr_get_array_size(ndr, &r->in.dns_servername)) {
4595
 
                        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.dns_servername), ndr_get_array_length(ndr, &r->in.dns_servername));
 
4774
                size_dns_servername_0 = ndr_get_array_size(ndr, &r->in.dns_servername);
 
4775
                length_dns_servername_0 = ndr_get_array_length(ndr, &r->in.dns_servername);
 
4776
                if (length_dns_servername_0 > size_dns_servername_0) {
 
4777
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dns_servername_0, length_dns_servername_0);
4596
4778
                }
4597
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t)));
4598
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, ndr_get_array_length(ndr, &r->in.dns_servername), sizeof(uint16_t), CH_UTF16));
 
4779
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dns_servername_0, sizeof(uint16_t)));
 
4780
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dns_servername, length_dns_servername_0, sizeof(uint16_t), CH_UTF16));
4599
4781
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfsname));
4600
4782
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfsname));
4601
 
                if (ndr_get_array_length(ndr, &r->in.dfsname) > ndr_get_array_size(ndr, &r->in.dfsname)) {
4602
 
                        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.dfsname), ndr_get_array_length(ndr, &r->in.dfsname));
 
4783
                size_dfsname_0 = ndr_get_array_size(ndr, &r->in.dfsname);
 
4784
                length_dfsname_0 = ndr_get_array_length(ndr, &r->in.dfsname);
 
4785
                if (length_dfsname_0 > size_dfsname_0) {
 
4786
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfsname_0, length_dfsname_0);
4603
4787
                }
4604
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t)));
4605
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, ndr_get_array_length(ndr, &r->in.dfsname), sizeof(uint16_t), CH_UTF16));
 
4788
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dfsname_0, sizeof(uint16_t)));
 
4789
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfsname, length_dfsname_0, sizeof(uint16_t), CH_UTF16));
4606
4790
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
4607
4791
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
4608
 
                if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
4609
 
                        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.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
 
4792
                size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
 
4793
                length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
 
4794
                if (length_rootshare_0 > size_rootshare_0) {
 
4795
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
4610
4796
                }
4611
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
4612
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
 
4797
                NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
 
4798
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
4613
4799
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
4614
4800
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unknown));
4615
4801
                if (_ptr_unknown) {
4737
4923
 
4738
4924
static enum ndr_err_code ndr_pull_dfs_AddStdRoot(struct ndr_pull *ndr, int flags, struct dfs_AddStdRoot *r)
4739
4925
{
 
4926
        uint32_t size_servername_0 = 0;
 
4927
        uint32_t length_servername_0 = 0;
 
4928
        uint32_t size_rootshare_0 = 0;
 
4929
        uint32_t length_rootshare_0 = 0;
 
4930
        uint32_t size_comment_0 = 0;
 
4931
        uint32_t length_comment_0 = 0;
4740
4932
        if (flags & NDR_IN) {
4741
4933
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
4742
4934
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
4743
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
4744
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
4935
                size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
 
4936
                length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
 
4937
                if (length_servername_0 > size_servername_0) {
 
4938
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
4745
4939
                }
4746
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
4747
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
4940
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
 
4941
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
4748
4942
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
4749
4943
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
4750
 
                if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
4751
 
                        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.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
 
4944
                size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
 
4945
                length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
 
4946
                if (length_rootshare_0 > size_rootshare_0) {
 
4947
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
4752
4948
                }
4753
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
4754
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
 
4949
                NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
 
4950
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
4755
4951
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment));
4756
4952
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment));
4757
 
                if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) {
4758
 
                        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.comment), ndr_get_array_length(ndr, &r->in.comment));
 
4953
                size_comment_0 = ndr_get_array_size(ndr, &r->in.comment);
 
4954
                length_comment_0 = ndr_get_array_length(ndr, &r->in.comment);
 
4955
                if (length_comment_0 > size_comment_0) {
 
4956
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_0, length_comment_0);
4759
4957
                }
4760
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t)));
4761
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16));
 
4958
                NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_0, sizeof(uint16_t)));
 
4959
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, length_comment_0, sizeof(uint16_t), CH_UTF16));
4762
4960
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
4763
4961
        }
4764
4962
        if (flags & NDR_OUT) {
4813
5011
 
4814
5012
static enum ndr_err_code ndr_pull_dfs_RemoveStdRoot(struct ndr_pull *ndr, int flags, struct dfs_RemoveStdRoot *r)
4815
5013
{
 
5014
        uint32_t size_servername_0 = 0;
 
5015
        uint32_t length_servername_0 = 0;
 
5016
        uint32_t size_rootshare_0 = 0;
 
5017
        uint32_t length_rootshare_0 = 0;
4816
5018
        if (flags & NDR_IN) {
4817
5019
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
4818
5020
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
4819
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
4820
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
5021
                size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
 
5022
                length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
 
5023
                if (length_servername_0 > size_servername_0) {
 
5024
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
4821
5025
                }
4822
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
4823
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
5026
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
 
5027
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
4824
5028
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
4825
5029
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
4826
 
                if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
4827
 
                        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.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
 
5030
                size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
 
5031
                length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
 
5032
                if (length_rootshare_0 > size_rootshare_0) {
 
5033
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
4828
5034
                }
4829
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
4830
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
 
5035
                NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
 
5036
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
4831
5037
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
4832
5038
        }
4833
5039
        if (flags & NDR_OUT) {
4880
5086
 
4881
5087
static enum ndr_err_code ndr_pull_dfs_ManagerInitialize(struct ndr_pull *ndr, int flags, struct dfs_ManagerInitialize *r)
4882
5088
{
 
5089
        uint32_t size_servername_1 = 0;
 
5090
        uint32_t length_servername_1 = 0;
4883
5091
        if (flags & NDR_IN) {
4884
5092
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
4885
5093
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
4886
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
4887
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
5094
                size_servername_1 = ndr_get_array_size(ndr, &r->in.servername);
 
5095
                length_servername_1 = ndr_get_array_length(ndr, &r->in.servername);
 
5096
                if (length_servername_1 > size_servername_1) {
 
5097
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_1, length_servername_1);
4888
5098
                }
4889
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
4890
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
5099
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_1, sizeof(uint16_t)));
 
5100
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_1, sizeof(uint16_t), CH_UTF16));
4891
5101
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
4892
5102
        }
4893
5103
        if (flags & NDR_OUT) {
4950
5160
 
4951
5161
static enum ndr_err_code ndr_pull_dfs_AddStdRootForced(struct ndr_pull *ndr, int flags, struct dfs_AddStdRootForced *r)
4952
5162
{
 
5163
        uint32_t size_servername_0 = 0;
 
5164
        uint32_t length_servername_0 = 0;
 
5165
        uint32_t size_rootshare_0 = 0;
 
5166
        uint32_t length_rootshare_0 = 0;
 
5167
        uint32_t size_comment_0 = 0;
 
5168
        uint32_t length_comment_0 = 0;
 
5169
        uint32_t size_store_0 = 0;
 
5170
        uint32_t length_store_0 = 0;
4953
5171
        if (flags & NDR_IN) {
4954
5172
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
4955
5173
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
4956
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
4957
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
5174
                size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
 
5175
                length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
 
5176
                if (length_servername_0 > size_servername_0) {
 
5177
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
4958
5178
                }
4959
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
4960
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
5179
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
 
5180
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
4961
5181
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
4962
5182
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
4963
 
                if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
4964
 
                        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.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
 
5183
                size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
 
5184
                length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
 
5185
                if (length_rootshare_0 > size_rootshare_0) {
 
5186
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
4965
5187
                }
4966
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
4967
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
 
5188
                NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
 
5189
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
4968
5190
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.comment));
4969
5191
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.comment));
4970
 
                if (ndr_get_array_length(ndr, &r->in.comment) > ndr_get_array_size(ndr, &r->in.comment)) {
4971
 
                        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.comment), ndr_get_array_length(ndr, &r->in.comment));
 
5192
                size_comment_0 = ndr_get_array_size(ndr, &r->in.comment);
 
5193
                length_comment_0 = ndr_get_array_length(ndr, &r->in.comment);
 
5194
                if (length_comment_0 > size_comment_0) {
 
5195
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_comment_0, length_comment_0);
4972
5196
                }
4973
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t)));
4974
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, ndr_get_array_length(ndr, &r->in.comment), sizeof(uint16_t), CH_UTF16));
 
5197
                NDR_CHECK(ndr_check_string_terminator(ndr, length_comment_0, sizeof(uint16_t)));
 
5198
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.comment, length_comment_0, sizeof(uint16_t), CH_UTF16));
4975
5199
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.store));
4976
5200
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.store));
4977
 
                if (ndr_get_array_length(ndr, &r->in.store) > ndr_get_array_size(ndr, &r->in.store)) {
4978
 
                        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.store), ndr_get_array_length(ndr, &r->in.store));
 
5201
                size_store_0 = ndr_get_array_size(ndr, &r->in.store);
 
5202
                length_store_0 = ndr_get_array_length(ndr, &r->in.store);
 
5203
                if (length_store_0 > size_store_0) {
 
5204
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_store_0, length_store_0);
4979
5205
                }
4980
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.store), sizeof(uint16_t)));
4981
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.store, ndr_get_array_length(ndr, &r->in.store), sizeof(uint16_t), CH_UTF16));
 
5206
                NDR_CHECK(ndr_check_string_terminator(ndr, length_store_0, sizeof(uint16_t)));
 
5207
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.store, length_store_0, sizeof(uint16_t), CH_UTF16));
4982
5208
        }
4983
5209
        if (flags & NDR_OUT) {
4984
5210
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
5063
5289
 
5064
5290
static enum ndr_err_code ndr_pull_dfs_GetDcAddress(struct ndr_pull *ndr, int flags, struct dfs_GetDcAddress *r)
5065
5291
{
 
5292
        uint32_t size_servername_0 = 0;
 
5293
        uint32_t length_servername_0 = 0;
5066
5294
        uint32_t _ptr_server_fullname;
 
5295
        uint32_t size_server_fullname_2 = 0;
 
5296
        uint32_t length_server_fullname_2 = 0;
5067
5297
        TALLOC_CTX *_mem_save_server_fullname_0;
5068
5298
        TALLOC_CTX *_mem_save_server_fullname_1;
5069
5299
        TALLOC_CTX *_mem_save_is_root_0;
5073
5303
 
5074
5304
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
5075
5305
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
5076
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
5077
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
5306
                size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
 
5307
                length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
 
5308
                if (length_servername_0 > size_servername_0) {
 
5309
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
5078
5310
                }
5079
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
5080
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
5311
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
 
5312
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
5081
5313
                if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5082
5314
                        NDR_PULL_ALLOC(ndr, r->in.server_fullname);
5083
5315
                }
5094
5326
                        NDR_PULL_SET_MEM_CTX(ndr, *r->in.server_fullname, 0);
5095
5327
                        NDR_CHECK(ndr_pull_array_size(ndr, r->in.server_fullname));
5096
5328
                        NDR_CHECK(ndr_pull_array_length(ndr, r->in.server_fullname));
5097
 
                        if (ndr_get_array_length(ndr, r->in.server_fullname) > ndr_get_array_size(ndr, r->in.server_fullname)) {
5098
 
                                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.server_fullname), ndr_get_array_length(ndr, r->in.server_fullname));
 
5329
                        size_server_fullname_2 = ndr_get_array_size(ndr, r->in.server_fullname);
 
5330
                        length_server_fullname_2 = ndr_get_array_length(ndr, r->in.server_fullname);
 
5331
                        if (length_server_fullname_2 > size_server_fullname_2) {
 
5332
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_fullname_2, length_server_fullname_2);
5099
5333
                        }
5100
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->in.server_fullname), sizeof(uint16_t)));
5101
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.server_fullname, ndr_get_array_length(ndr, r->in.server_fullname), sizeof(uint16_t), CH_UTF16));
 
5334
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_server_fullname_2, sizeof(uint16_t)));
 
5335
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->in.server_fullname, length_server_fullname_2, sizeof(uint16_t), CH_UTF16));
5102
5336
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_1, 0);
5103
5337
                }
5104
5338
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_0, LIBNDR_FLAG_REF_ALLOC);
5140
5374
                        NDR_PULL_SET_MEM_CTX(ndr, *r->out.server_fullname, 0);
5141
5375
                        NDR_CHECK(ndr_pull_array_size(ndr, r->out.server_fullname));
5142
5376
                        NDR_CHECK(ndr_pull_array_length(ndr, r->out.server_fullname));
5143
 
                        if (ndr_get_array_length(ndr, r->out.server_fullname) > ndr_get_array_size(ndr, r->out.server_fullname)) {
5144
 
                                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.server_fullname), ndr_get_array_length(ndr, r->out.server_fullname));
 
5377
                        size_server_fullname_2 = ndr_get_array_size(ndr, r->out.server_fullname);
 
5378
                        length_server_fullname_2 = ndr_get_array_length(ndr, r->out.server_fullname);
 
5379
                        if (length_server_fullname_2 > size_server_fullname_2) {
 
5380
                                return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_fullname_2, length_server_fullname_2);
5145
5381
                        }
5146
 
                        NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.server_fullname), sizeof(uint16_t)));
5147
 
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.server_fullname, ndr_get_array_length(ndr, r->out.server_fullname), sizeof(uint16_t), CH_UTF16));
 
5382
                        NDR_CHECK(ndr_check_string_terminator(ndr, length_server_fullname_2, sizeof(uint16_t)));
 
5383
                        NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.server_fullname, length_server_fullname_2, sizeof(uint16_t), CH_UTF16));
5148
5384
                        NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_1, 0);
5149
5385
                }
5150
5386
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_fullname_0, LIBNDR_FLAG_REF_ALLOC);
5245
5481
 
5246
5482
static enum ndr_err_code ndr_pull_dfs_SetDcAddress(struct ndr_pull *ndr, int flags, struct dfs_SetDcAddress *r)
5247
5483
{
 
5484
        uint32_t size_servername_0 = 0;
 
5485
        uint32_t length_servername_0 = 0;
 
5486
        uint32_t size_server_fullname_0 = 0;
 
5487
        uint32_t length_server_fullname_0 = 0;
5248
5488
        if (flags & NDR_IN) {
5249
5489
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
5250
5490
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
5251
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
5252
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
5491
                size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
 
5492
                length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
 
5493
                if (length_servername_0 > size_servername_0) {
 
5494
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
5253
5495
                }
5254
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
5255
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
5496
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
 
5497
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
5256
5498
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_fullname));
5257
5499
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_fullname));
5258
 
                if (ndr_get_array_length(ndr, &r->in.server_fullname) > ndr_get_array_size(ndr, &r->in.server_fullname)) {
5259
 
                        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.server_fullname), ndr_get_array_length(ndr, &r->in.server_fullname));
 
5500
                size_server_fullname_0 = ndr_get_array_size(ndr, &r->in.server_fullname);
 
5501
                length_server_fullname_0 = ndr_get_array_length(ndr, &r->in.server_fullname);
 
5502
                if (length_server_fullname_0 > size_server_fullname_0) {
 
5503
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_server_fullname_0, length_server_fullname_0);
5260
5504
                }
5261
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_fullname), sizeof(uint16_t)));
5262
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_fullname, ndr_get_array_length(ndr, &r->in.server_fullname), sizeof(uint16_t), CH_UTF16));
 
5505
                NDR_CHECK(ndr_check_string_terminator(ndr, length_server_fullname_0, sizeof(uint16_t)));
 
5506
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_fullname, length_server_fullname_0, sizeof(uint16_t), CH_UTF16));
5263
5507
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
5264
5508
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.ttl));
5265
5509
        }
5314
5558
 
5315
5559
static enum ndr_err_code ndr_pull_dfs_FlushFtTable(struct ndr_pull *ndr, int flags, struct dfs_FlushFtTable *r)
5316
5560
{
 
5561
        uint32_t size_servername_0 = 0;
 
5562
        uint32_t length_servername_0 = 0;
 
5563
        uint32_t size_rootshare_0 = 0;
 
5564
        uint32_t length_rootshare_0 = 0;
5317
5565
        if (flags & NDR_IN) {
5318
5566
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.servername));
5319
5567
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.servername));
5320
 
                if (ndr_get_array_length(ndr, &r->in.servername) > ndr_get_array_size(ndr, &r->in.servername)) {
5321
 
                        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.servername), ndr_get_array_length(ndr, &r->in.servername));
 
5568
                size_servername_0 = ndr_get_array_size(ndr, &r->in.servername);
 
5569
                length_servername_0 = ndr_get_array_length(ndr, &r->in.servername);
 
5570
                if (length_servername_0 > size_servername_0) {
 
5571
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_servername_0, length_servername_0);
5322
5572
                }
5323
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t)));
5324
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, ndr_get_array_length(ndr, &r->in.servername), sizeof(uint16_t), CH_UTF16));
 
5573
                NDR_CHECK(ndr_check_string_terminator(ndr, length_servername_0, sizeof(uint16_t)));
 
5574
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.servername, length_servername_0, sizeof(uint16_t), CH_UTF16));
5325
5575
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rootshare));
5326
5576
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rootshare));
5327
 
                if (ndr_get_array_length(ndr, &r->in.rootshare) > ndr_get_array_size(ndr, &r->in.rootshare)) {
5328
 
                        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.rootshare), ndr_get_array_length(ndr, &r->in.rootshare));
 
5577
                size_rootshare_0 = ndr_get_array_size(ndr, &r->in.rootshare);
 
5578
                length_rootshare_0 = ndr_get_array_length(ndr, &r->in.rootshare);
 
5579
                if (length_rootshare_0 > size_rootshare_0) {
 
5580
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rootshare_0, length_rootshare_0);
5329
5581
                }
5330
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t)));
5331
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, ndr_get_array_length(ndr, &r->in.rootshare), sizeof(uint16_t), CH_UTF16));
 
5582
                NDR_CHECK(ndr_check_string_terminator(ndr, length_rootshare_0, sizeof(uint16_t)));
 
5583
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.rootshare, length_rootshare_0, sizeof(uint16_t), CH_UTF16));
5332
5584
        }
5333
5585
        if (flags & NDR_OUT) {
5334
5586
                NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
5475
5727
 
5476
5728
_PUBLIC_ enum ndr_err_code ndr_pull_dfs_EnumEx(struct ndr_pull *ndr, int flags, struct dfs_EnumEx *r)
5477
5729
{
 
5730
        uint32_t size_dfs_name_0 = 0;
 
5731
        uint32_t length_dfs_name_0 = 0;
5478
5732
        uint32_t _ptr_info;
5479
5733
        uint32_t _ptr_total;
5480
5734
        TALLOC_CTX *_mem_save_info_0;
5484
5738
 
5485
5739
                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dfs_name));
5486
5740
                NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dfs_name));
5487
 
                if (ndr_get_array_length(ndr, &r->in.dfs_name) > ndr_get_array_size(ndr, &r->in.dfs_name)) {
5488
 
                        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.dfs_name), ndr_get_array_length(ndr, &r->in.dfs_name));
 
5741
                size_dfs_name_0 = ndr_get_array_size(ndr, &r->in.dfs_name);
 
5742
                length_dfs_name_0 = ndr_get_array_length(ndr, &r->in.dfs_name);
 
5743
                if (length_dfs_name_0 > size_dfs_name_0) {
 
5744
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_dfs_name_0, length_dfs_name_0);
5489
5745
                }
5490
 
                NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dfs_name), sizeof(uint16_t)));
5491
 
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_name, ndr_get_array_length(ndr, &r->in.dfs_name), sizeof(uint16_t), CH_UTF16));
 
5746
                NDR_CHECK(ndr_check_string_terminator(ndr, length_dfs_name_0, sizeof(uint16_t)));
 
5747
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dfs_name, length_dfs_name_0, sizeof(uint16_t), CH_UTF16));
5492
5748
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
5493
5749
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.bufsize));
5494
5750
                NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));