Ignore:
Timestamp:
Nov 29, 2012, 1:59:04 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.9

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/server/source3/librpc/gen_ndr/ndr_unixinfo.c

    r745 r751  
    2727static enum ndr_err_code ndr_pull_unixinfo_GetPWUidInfo(struct ndr_pull *ndr, int ndr_flags, struct unixinfo_GetPWUidInfo *r)
    2828{
     29
     30
     31
     32
    2933        if (ndr_flags & NDR_SCALARS) {
    3034                NDR_CHECK(ndr_pull_array_size(ndr, &r->shell));
     
    3337                NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir));
    3438                NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir));
    35                 if (ndr_get_array_length(ndr, &r->homedir) > ndr_get_array_size(ndr, &r->homedir)) {
    36                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->homedir), ndr_get_array_length(ndr, &r->homedir));
    37                 }
    38                 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t)));
    39                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t), CH_UTF8));
     39                size_homedir_0 = ndr_get_array_size(ndr, &r->homedir);
     40                length_homedir_0 = ndr_get_array_length(ndr, &r->homedir);
     41                if (length_homedir_0 > size_homedir_0) {
     42                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_homedir_0, length_homedir_0);
     43                }
     44                NDR_CHECK(ndr_check_string_terminator(ndr, length_homedir_0, sizeof(uint8_t)));
     45                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, length_homedir_0, sizeof(uint8_t), CH_UTF8));
    4046                NDR_CHECK(ndr_pull_array_length(ndr, &r->shell));
    41                 if (ndr_get_array_length(ndr, &r->shell) > ndr_get_array_size(ndr, &r->shell)) {
    42                         return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->shell), ndr_get_array_length(ndr, &r->shell));
    43                 }
    44                 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t)));
    45                 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t), CH_UTF8));
     47                size_shell_0 = ndr_get_array_size(ndr, &r->shell);
     48                length_shell_0 = ndr_get_array_length(ndr, &r->shell);
     49                if (length_shell_0 > size_shell_0) {
     50                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_shell_0, length_shell_0);
     51                }
     52                NDR_CHECK(ndr_check_string_terminator(ndr, length_shell_0, sizeof(uint8_t)));
     53                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, length_shell_0, sizeof(uint8_t), CH_UTF8));
    4654                NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
    4755        }
     
    352360static enum ndr_err_code ndr_pull_unixinfo_GetPWUid(struct ndr_pull *ndr, int flags, struct unixinfo_GetPWUid *r)
    353361{
     362
    354363        uint32_t cntr_uids_0;
     364
    355365        uint32_t cntr_infos_0;
    356366        TALLOC_CTX *_mem_save_count_0;
     
    371381                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
    372382                NDR_CHECK(ndr_pull_array_size(ndr, &r->in.uids));
    373                 NDR_PULL_ALLOC_N(ndr, r->in.uids, ndr_get_array_size(ndr, &r->in.uids));
     383                size_uids_0 = ndr_get_array_size(ndr, &r->in.uids);
     384                NDR_PULL_ALLOC_N(ndr, r->in.uids, size_uids_0);
    374385                _mem_save_uids_0 = NDR_PULL_GET_MEM_CTX(ndr);
    375386                NDR_PULL_SET_MEM_CTX(ndr, r->in.uids, 0);
    376                 for (cntr_uids_0 = 0; cntr_uids_0 < *r->in.count; cntr_uids_0++) {
     387                for (cntr_uids_0 = 0; cntr_uids_0 < ; cntr_uids_0++) {
    377388                        NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.uids[cntr_uids_0]));
    378389                }
     
    396407                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
    397408                NDR_CHECK(ndr_pull_array_size(ndr, &r->out.infos));
    398                 NDR_PULL_ALLOC_N(ndr, r->out.infos, ndr_get_array_size(ndr, &r->out.infos));
     409                size_infos_0 = ndr_get_array_size(ndr, &r->out.infos);
     410                NDR_PULL_ALLOC_N(ndr, r->out.infos, size_infos_0);
    399411                _mem_save_infos_0 = NDR_PULL_GET_MEM_CTX(ndr);
    400412                NDR_PULL_SET_MEM_CTX(ndr, r->out.infos, 0);
    401                 for (cntr_infos_0 = 0; cntr_infos_0 < *r->out.count; cntr_infos_0++) {
     413                for (cntr_infos_0 = 0; cntr_infos_0 < ; cntr_infos_0++) {
    402414                        NDR_CHECK(ndr_pull_unixinfo_GetPWUidInfo(ndr, NDR_SCALARS, &r->out.infos[cntr_infos_0]));
    403415                }
Note: See TracChangeset for help on using the changeset viewer.