You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

36 lines
1.1 KiB

From 36456071ea34546d98d3b66a696cd4c4c4643de5 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Tue, 8 Sep 2015 16:01:25 +0200
Subject: [PATCH 16/16] BUG/MINOR: tools: make str2sa_range() report
unresolvable addresses
If an environment variable is used in an address, and is not set, it's
silently considered as ":" or "0.0.0.0:0" which is not correct as it
can hide environment issues and lead to unexpected behaviours. Let's
report this case when it happens.
This fix should be backported to 1.5.
(cherry picked from commit 9f69f46d1f1b1d116c00b4b0483c519747f977b7)
---
src/standard.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/standard.c b/src/standard.c
index f57724c..9299882 100644
--- a/src/standard.c
+++ b/src/standard.c
@@ -709,6 +709,11 @@ struct sockaddr_storage *str2sa_range(const char *str, int *low, int *high, char
goto out;
}
+ if (!*str2) {
+ memprintf(err, "'%s' resolves to an empty address (environment variable missing?)\n", str);
+ goto out;
+ }
+
memset(&ss, 0, sizeof(ss));
if (strncmp(str2, "unix@", 5) == 0) {
--
2.4.6