From bca9e7d3258058594daaaedd2518fcb2c793ded0 Mon Sep 17 00:00:00 2001 From: Jim McDonough Date: Wed, 22 Oct 2003 20:59:46 +0000 Subject: Be sure referent ID is updated for incoming structures, too. (This used to be commit 00e0aba2cf97e686a0b6b4d7bab50afbc5e97ac1) --- source3/rpc_parse/parse_epmapper.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'source3') diff --git a/source3/rpc_parse/parse_epmapper.c b/source3/rpc_parse/parse_epmapper.c index 61704136a0..7a5f147c50 100644 --- a/source3/rpc_parse/parse_epmapper.c +++ b/source3/rpc_parse/parse_epmapper.c @@ -327,9 +327,17 @@ BOOL epm_io_tower_array(const char *desc, EPM_TOWER_ARRAY *array, return False; } } - for (i=0; i < array->count; i++) - if (!prs_uint32("ref_id", ps, depth, &array->tower_ref_ids[i])) + for (i=0; i < array->count; i++) { + if (!prs_uint32("ref_id", ps, depth, &array->tower_ref_ids[i])) { return False; + } else { + if (array->tower_ref_ids[i] > internal_referent_id) { + internal_referent_id = array->tower_ref_ids[i]; + } + } + } + + if (!prs_set_offset(ps, prs_offset(ps) + array->offset)) return False; @@ -418,8 +426,10 @@ BOOL epm_io_q_map(const char *desc, EPM_Q_MAP *io_map, prs_struct *ps, if (!epm_io_handle("handle", &io_map->handle, ps, depth)) return False; - if (!prs_uint32("max_towers", ps, 0, &io_map->tower_ref_id)) + if (!prs_uint32("referent_id", ps, 0, &io_map->tower_ref_id)) return False; + if (io_map->tower_ref_id > internal_referent_id) + internal_referent_id = io_map->tower_ref_id; /* HACK: We need a more elegant way of doing this */ if (UNMARSHALLING(ps)) { -- cgit