Return-Path: From: "Ganir, Chen" To: "linux-bluetooth@vger.kernel.org" CC: "Ganir, Chen" Subject: RE: [PATCH] eir: Keep parsed eir_data on error Date: Tue, 15 May 2012 05:46:50 +0000 Message-ID: References: <1336555275-32638-1-git-send-email-chen.ganir@ti.com> In-Reply-To: <1336555275-32638-1-git-send-email-chen.ganir@ti.com> Content-Type: text/plain; charset="Windows-1252" MIME-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: > -----Original Message----- > From: Ganir, Chen > Sent: Wednesday, May 09, 2012 12:21 PM > To: linux-bluetooth@vger.kernel.org > Cc: Ganir, Chen > Subject: [PATCH] eir: Keep parsed eir_data on error > > From: Chen Ganir > > Do not discard already parsed eir_data on eir data length error. > Data corruption may occur, but this does not mean that we need > to ignore already parsed valid eir data > --- > src/eir.c | 5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/src/eir.c b/src/eir.c > index 310cd53..f2f6992 100644 > --- a/src/eir.c > +++ b/src/eir.c > @@ -114,10 +114,9 @@ int eir_parse(struct eir_data *eir, uint8_t > *eir_data, uint8_t eir_len) > > len += field_len + 1; > > - /* Bail out if got incorrect length */ > + /* Do not continue EIR Data parsing if got incorrect length > */ > if (len > eir_len) { > - eir_data_free(eir); > - return -EINVAL; > + return 0; > } > > data_len = field_len - 1; > -- > 1.7.0.4 Ping ? BR, Chen Ganir.