File dhcp-4.2.4-dhclient-option-checks.bnc675052.diff of Package dhcp

diff --git a/client/dhclient.c b/client/dhclient.c
index 1afccd5..37ec809 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -3275,7 +3275,7 @@ void script_write_params (client, prefix, lease)
 		} else {
 			log_error("suspect value in %s "
 				  "option - discarded",
-				  lease->filename);
+				  "filename");
 		}
 	}
 
@@ -3288,7 +3288,7 @@ void script_write_params (client, prefix, lease)
 		} else {
 			log_error("suspect value in %s "
 				  "option - discarded",
-				  lease->server_name);
+				  "server-name");
 		}
 	}
 
@@ -4216,7 +4216,7 @@ static int check_domain_name(const char *ptr, size_t len, int dots)
 	const char *p;
 
 	/* not empty or complete length not over 255 characters   */
-	if ((len == 0) || (len > 256))
+	if ((len == 0) || (len >= 256))
 		return(-1);
 
 	/* consists of [[:alnum:]-]+ labels separated by [.]      */
diff --git a/common/options.c b/common/options.c
index e485222..bc9bb97 100644
--- a/common/options.c
+++ b/common/options.c
@@ -3918,7 +3918,7 @@ pretty_escape(char **dst, char *dend, const unsigned char **src,
 			}
 		} else if (**src == '"' || **src == '\'' || **src == '$' ||
 			   **src == '`' || **src == '\\' || **src == '|' ||
-			   **src == '&') {
+			   **src == '&' || **src == ';') {
 			if (*dst + 2 > dend)
 				return -1;