mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +03:00
r166: Fix enumerating values in nt4 backend
(This used to be commit 1a7de762c6
)
This commit is contained in:
parent
07afafd45d
commit
c60c5ebb91
@ -98,6 +98,7 @@ WERROR reg_open(const char *backend, const char *location, const char *credentia
|
||||
ret = talloc(mem_ctx, sizeof(REG_HANDLE));
|
||||
ZERO_STRUCTP(ret);
|
||||
ret->location = location?talloc_strdup(mem_ctx, location):NULL;
|
||||
ret->credentials = credentials?talloc_strdup(mem_ctx, credentials):NULL;
|
||||
ret->functions = entry->functions;
|
||||
ret->backend_data = NULL;
|
||||
ret->mem_ctx = mem_ctx;
|
||||
|
@ -121,6 +121,7 @@ struct reg_handle_s {
|
||||
struct registry_ops *functions;
|
||||
REG_SUBTREE *subtrees;
|
||||
char *location;
|
||||
char *credentials;
|
||||
void *backend_data;
|
||||
TALLOC_CTX *mem_ctx;
|
||||
};
|
||||
|
@ -1697,12 +1697,16 @@ static WERROR nt_value_by_index(REG_KEY *k, int n, REG_VAL **value)
|
||||
{
|
||||
VL_TYPE *vl;
|
||||
int val_off, vk_off;
|
||||
int val_count;
|
||||
VK_HDR *vk_hdr;
|
||||
REGF *regf = k->handle->backend_data;
|
||||
NK_HDR *nk_hdr = k->backend_data;
|
||||
val_count = IVAL(&nk_hdr->val_cnt,0);
|
||||
val_off = IVAL(&nk_hdr->val_off,0);
|
||||
vl = (VL_TYPE *)LOCN(regf->base, val_off);
|
||||
DEBUG(2, ("Val List Offset: %0X\n", val_off));
|
||||
if(n < 0) return WERR_INVALID_PARAM;
|
||||
if(n >= val_count) return WERR_NO_MORE_ITEMS;
|
||||
|
||||
vk_off = IVAL(&vl[n],0);
|
||||
vk_hdr = (VK_HDR *)LOCN(regf->base, vk_off);
|
||||
|
Loading…
Reference in New Issue
Block a user