From d0e97c05e838a665eb1a724a6ef04afe9625edc0 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Mon, 17 Dec 2001 08:31:26 +0000 Subject: Get rid of some more "goto"s with the same problem. svn path=/trunk/; revision=4412 --- packet-dcerpc-lsa.c | 77 ++++++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 37 deletions(-) (limited to 'packet-dcerpc-lsa.c') diff --git a/packet-dcerpc-lsa.c b/packet-dcerpc-lsa.c index d19c383832..8021e04577 100644 --- a/packet-dcerpc-lsa.c +++ b/packet-dcerpc-lsa.c @@ -2,7 +2,7 @@ * Routines for SMB \PIPE\lsarpc packet disassembly * Copyright 2001, Tim Potter * - * $Id: packet-dcerpc-lsa.c,v 1.4 2001/12/17 08:27:00 guy Exp $ + * $Id: packet-dcerpc-lsa.c,v 1.5 2001/12/17 08:31:26 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs @@ -777,19 +777,21 @@ static int prs_NAME_AND_SID_ARRAY(tvbuff_t *tvb, int offset, offset = prs_uint32(tvb, offset, pinfo, subtree, &count, "Count"); - if (!prs_pop_ptr(ptr_list, "NAME_AND_SIDs")) - goto done; - - for (i = 0; i < count; i++) { - offset = prs_NAME_AND_SID(tvb, offset, pinfo, subtree, - PARSE_SCALARS, ptr_list); - } + if (prs_pop_ptr(ptr_list, "NAME_AND_SIDs")) { + for (i = 0; i < count; i++) { + offset = prs_NAME_AND_SID(tvb, offset, pinfo, + subtree, + PARSE_SCALARS, + ptr_list); + } - for (i = 0; i < count; i++) { - offset = prs_NAME_AND_SID(tvb, offset, pinfo, subtree, - PARSE_BUFFERS, ptr_list); + for (i = 0; i < count; i++) { + offset = prs_NAME_AND_SID(tvb, offset, pinfo, + subtree, + PARSE_BUFFERS, + ptr_list); + } } - done: } return offset; @@ -955,21 +957,20 @@ static int prs_SID_ARRAY(tvbuff_t *tvb, int offset, packet_info *pinfo, "SID_ARRAY"); subtree = proto_item_add_subtree(item, ett_SID_ARRAY); - if (!prs_pop_ptr(ptr_list, "SIDs")) - goto done; - - offset = prs_uint32(tvb, offset, pinfo, subtree, &count, - "Count"); + if (prs_pop_ptr(ptr_list, "SIDs")) { + offset = prs_uint32(tvb, offset, pinfo, subtree, + &count, "Count"); - for (i = 0; i < count; i++) - offset = prs_push_ptr(tvb, offset, pinfo, - subtree, ptr_list, "SID"); + for (i = 0; i < count; i++) + offset = prs_push_ptr(tvb, offset, pinfo, + subtree, ptr_list, "SID"); - for (i = 0; i < count; i++) { - if (prs_pop_ptr(ptr_list, "SID")) - offset = prs_SID(tvb, offset, pinfo, subtree); + for (i = 0; i < count; i++) { + if (prs_pop_ptr(ptr_list, "SID")) + offset = prs_SID(tvb, offset, pinfo, + subtree); + } } - done: } return offset; @@ -1045,22 +1046,24 @@ static int prs_ACCOUNT_NAME_ARRAY(tvbuff_t *tvb, int offset, "ACCOUNT_NAME_ARRAY"); subtree = proto_item_add_subtree(item, ett_SID_ARRAY); - if (!prs_pop_ptr(ptr_list, "ACCOUNT_NAMEs")) - goto done; - - offset = prs_uint32(tvb, offset, pinfo, subtree, &count, - "Count"); + if (prs_pop_ptr(ptr_list, "ACCOUNT_NAMEs")) { + offset = prs_uint32(tvb, offset, pinfo, subtree, + &count, "Count"); - for (i = 0; i < count; i++) { - offset = prs_ACCOUNT_NAME(tvb, offset, pinfo, subtree, - PARSE_SCALARS, ptr_list); - } + for (i = 0; i < count; i++) { + offset = prs_ACCOUNT_NAME(tvb, offset, pinfo, + subtree, + PARSE_SCALARS, + ptr_list); + } - for (i = 0; i < count; i++) { - offset = prs_ACCOUNT_NAME(tvb, offset, pinfo, subtree, - PARSE_BUFFERS, ptr_list); + for (i = 0; i < count; i++) { + offset = prs_ACCOUNT_NAME(tvb, offset, pinfo, + subtree, + PARSE_BUFFERS, + ptr_list); + } } - done: } return offset; -- cgit v1.2.3