From b01bc4c867b1e44c26d2e2d49d223b3363db2c40 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 22 Jan 2013 15:48:25 +0200 Subject: [PATCH] core: Only set EIR data pointer after confirming it points to valid memory Even though we do not access the memory it's still safer not to have any pointers to it until we know it's valid. --- src/eir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/eir.c b/src/eir.c index d14f2a069..428882e71 100644 --- a/src/eir.c +++ b/src/eir.c @@ -141,7 +141,7 @@ int eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len) while (len < eir_len - 1) { uint8_t field_len = eir_data[0]; - const uint8_t *data = &eir_data[2]; + const uint8_t *data; uint8_t data_len; /* Check for the end of EIR */ @@ -154,6 +154,7 @@ int eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len) if (len > eir_len) break; + data = &eir_data[2]; data_len = field_len - 1; switch (eir_data[1]) { -- 2.47.3