chiark / gitweb /
sd-dhcp: make sure we can not fill options so much that there is no space for END
[elogind.git] / src / libsystemd-network / dhcp-option.c
index 68950923ddd9ea8265b4ae7cd509aa7b31b316fe..24f678c100b41b39fe84b3cbd0cd9ba71e1e009f 100644 (file)
@@ -31,6 +31,10 @@ int dhcp_option_append(uint8_t options[], size_t size, size_t *offset,
         assert(options);
         assert(offset);
 
+        if (code != DHCP_OPTION_END)
+                /* always make sure there is space for an END option */
+                size --;
+
         switch (code) {
 
         case DHCP_OPTION_PAD: