diff options
author | Günther Deschner <gd@samba.org> | 2009-12-07 18:55:08 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2009-12-15 08:16:45 +0100 |
commit | cacdb92184f7cc3ec99d28be216fc41f344289e8 (patch) | |
tree | 3d055e09b680599dbdb241845c0933f8da0cadd0 /librpc | |
parent | 7053b138a4f1620e54de4ba46580e27d4b0f1253 (diff) | |
download | samba-cacdb92184f7cc3ec99d28be216fc41f344289e8.tar.gz samba-cacdb92184f7cc3ec99d28be216fc41f344289e8.tar.xz samba-cacdb92184f7cc3ec99d28be216fc41f344289e8.zip |
spoolss: fix spoolss_DriverInfo8 IDL.
found by RPC-SPOOLSS torture teset.
Guenther
(cherry picked from commit efdd60fd9d0b36f924ef467040a1c5e1de5e68c2)
Diffstat (limited to 'librpc')
-rw-r--r-- | librpc/gen_ndr/ndr_spoolss.c | 100 | ||||
-rw-r--r-- | librpc/gen_ndr/spoolss.h | 2 | ||||
-rw-r--r-- | librpc/idl/spoolss.idl | 2 |
3 files changed, 52 insertions, 52 deletions
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c index e09802f3d24..63e8aefb877 100644 --- a/librpc/gen_ndr/ndr_spoolss.c +++ b/librpc/gen_ndr/ndr_spoolss.c @@ -12895,6 +12895,12 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in ndr->flags = _flags_save_string; } { + uint32_t _flags_save_string_array = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); + NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files)); + ndr->flags = _flags_save_string_array; + } + { uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name)); @@ -12909,12 +12915,6 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in { uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files)); - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names)); ndr->flags = _flags_save_string_array; } @@ -13035,6 +13035,15 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in ndr->flags = _flags_save_string; } { + uint32_t _flags_save_string_array = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); + if (r->dependent_files) { + NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files)); + NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); + } + ndr->flags = _flags_save_string_array; + } + { uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { @@ -13055,15 +13064,6 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, in { uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files)); - NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files)); - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->previous_names) { NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names)); NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names)); @@ -13169,12 +13169,12 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in TALLOC_CTX *_mem_save_config_file_0; uint32_t _ptr_help_file; TALLOC_CTX *_mem_save_help_file_0; + uint32_t _ptr_dependent_files; + TALLOC_CTX *_mem_save_dependent_files_0; uint32_t _ptr_monitor_name; TALLOC_CTX *_mem_save_monitor_name_0; uint32_t _ptr_default_datatype; TALLOC_CTX *_mem_save_default_datatype_0; - uint32_t _ptr_dependent_files; - TALLOC_CTX *_mem_save_dependent_files_0; uint32_t _ptr_previous_names; TALLOC_CTX *_mem_save_previous_names_0; uint32_t _ptr_manufacturer_name; @@ -13271,6 +13271,18 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in ndr->flags = _flags_save_string; } { + uint32_t _flags_save_string_array = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); + if (_ptr_dependent_files) { + NDR_PULL_ALLOC(ndr, r->dependent_files); + NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files)); + } else { + r->dependent_files = NULL; + } + ndr->flags = _flags_save_string_array; + } + { uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name)); @@ -13297,18 +13309,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in { uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files)); - if (_ptr_dependent_files) { - NDR_PULL_ALLOC(ndr, r->dependent_files); - NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files)); - } else { - r->dependent_files = NULL; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names)); if (_ptr_previous_names) { NDR_PULL_ALLOC(ndr, r->previous_names); @@ -13525,6 +13525,21 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in ndr->flags = _flags_save_string; } { + uint32_t _flags_save_string_array = ndr->flags; + ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); + if (r->dependent_files) { + uint32_t _relative_save_offset; + _relative_save_offset = ndr->offset; + NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files)); + _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); + NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); + ndr->offset = _relative_save_offset; + } + ndr->flags = _flags_save_string_array; + } + { uint32_t _flags_save_string = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->monitor_name) { @@ -13557,21 +13572,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo8(struct ndr_pull *ndr, in { uint32_t _flags_save_string_array = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); - if (r->dependent_files) { - uint32_t _relative_save_offset; - _relative_save_offset = ndr->offset; - NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files)); - _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr); - NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0); - NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files)); - NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0); - ndr->offset = _relative_save_offset; - } - ndr->flags = _flags_save_string_array; - } - { - uint32_t _flags_save_string_array = ndr->flags; - ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM); if (r->previous_names) { uint32_t _relative_save_offset; _relative_save_offset = ndr->offset; @@ -13764,6 +13764,12 @@ _PUBLIC_ void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *n ndr_print_string(ndr, "help_file", r->help_file); } ndr->depth--; + ndr_print_ptr(ndr, "dependent_files", r->dependent_files); + ndr->depth++; + if (r->dependent_files) { + ndr_print_string_array(ndr, "dependent_files", r->dependent_files); + } + ndr->depth--; ndr_print_ptr(ndr, "monitor_name", r->monitor_name); ndr->depth++; if (r->monitor_name) { @@ -13776,12 +13782,6 @@ _PUBLIC_ void ndr_print_spoolss_DriverInfo8(struct ndr_print *ndr, const char *n ndr_print_string(ndr, "default_datatype", r->default_datatype); } ndr->depth--; - ndr_print_ptr(ndr, "dependent_files", r->dependent_files); - ndr->depth++; - if (r->dependent_files) { - ndr_print_string_array(ndr, "dependent_files", r->dependent_files); - } - ndr->depth--; ndr_print_ptr(ndr, "previous_names", r->previous_names); ndr->depth++; if (r->previous_names) { diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h index d6c267c82a2..cee9a8fa58e 100644 --- a/librpc/gen_ndr/spoolss.h +++ b/librpc/gen_ndr/spoolss.h @@ -1434,9 +1434,9 @@ struct spoolss_DriverInfo8 { const char * data_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ const char * config_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ const char * help_file;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ + const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ const char * monitor_name;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ const char * default_datatype;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ - const char ** dependent_files;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ const char ** previous_names;/* [relative,flag(LIBNDR_FLAG_STR_NULLTERM)] */ NTTIME driver_date; uint64_t driver_version; diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 725166f2a69..f6653811999 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -1204,9 +1204,9 @@ import "misc.idl", "security.idl", "winreg.idl"; [relative] nstring *data_file; [relative] nstring *config_file; [relative] nstring *help_file; + [relative] nstring_array *dependent_files; [relative] nstring *monitor_name; [relative] nstring *default_datatype; - [relative] nstring_array *dependent_files; [relative] nstring_array *previous_names; NTTIME driver_date; hyper driver_version; |