blob: a0c59d1dbaf14d605f65dc848c83708be0593149 [file] [log] [blame]
From 15f361ac1b13c122d37626cad8de324b20cc8178 Mon Sep 17 00:00:00 2001
From: Jorge Lucangeli Obes <jorgelo@chromium.org>
Date: Tue, 1 Jun 2021 20:16:58 +0000
Subject: [PATCH 08/19] Fix OOB read in dhcpcd.
Should have done this sooner, but hey, late is better than never.
Based on https://googleplex-android-review.git.corp.google.com/#/c/588010/.
BUG=chromium:433078
TEST=Deploy to Chromebook, connect to network, get DHCP lease.
Reviewed-on: https://chromium-review.googlesource.com/242880
---
src/dhcp-common.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/dhcp-common.c b/src/dhcp-common.c
index 866c3ccb..b9b6fbbb 100644
--- a/src/dhcp-common.c
+++ b/src/dhcp-common.c
@@ -819,6 +819,10 @@ print_option(char *s, size_t len, const struct dhcp_opt *opt,
}
if (sl == -1)
return bytes == 0 ? -1 : bytes;
+ if (len <= (size_t)sl) {
+ bytes += len;
+ break;
+ }
len -= (size_t)sl;
bytes += sl;
s += sl;
--
2.33.0.800.g4c38ced690-goog