aboutsummaryrefslogtreecommitdiffstats
path: root/main/dhcpcd/CVE-2014-6060.patch
blob: d16ad188adef9060e99d2478f8b13aab8e5a3c7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Index: dhcp.c
==================================================================
--- a/dhcp.c
+++ b/dhcp.c
@@ -201,13 +201,16 @@
 				e = p + sizeof(dhcp->servername);
 			} else
 				goto exit;
 			break;
 		case DHO_OPTIONSOVERLOADED:
-			/* Ensure we only get this option once */
+			/* Ensure we only get this option once by setting
+			 * the last bit as well as the value.
+			 * This is valid because only the first two bits
+			 * actually mean anything in RFC2132 Section 9.3 */
 			if (!overl)
-				overl = p[1];
+				overl = 0x80 | p[1];
 			break;
 		}
 		l = *p++;
 		p += l;
 	}