]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Update patch for 26704 to include a null check on the right hand side as well
authorShawn Routhier <sar@isc.org>
Mon, 28 Nov 2011 18:13:51 +0000 (18:13 +0000)
committerShawn Routhier <sar@isc.org>
Mon, 28 Nov 2011 18:13:51 +0000 (18:13 +0000)
common/dhcp-eval.5
common/tree.c

index fbf340c4c3cc826a0d9f65b89085e83de2893d61..a7faa99d27995dd783fde03da9925b4b5b5c3296 100644 (file)
@@ -1,6 +1,6 @@
-.\"    $Id: dhcp-eval.5,v 1.27.364.3 2010/07/02 23:37:06 sar Exp $
+.\"    $Id: dhcp-eval.5,v 1.27.364.3.6.1 2011/11/28 18:13:51 sar Exp $
 .\"
-.\" Copyright (c) 2009-2010 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (c) 2009-2011 by Internet Systems Consortium, Inc. ("ISC")
 .\" Copyright (c) 2004,2007 by Internet Systems Consortium, Inc. ("ISC")
 .\" Copyright (c) 1996-2003 by Internet Software Consortium
 .\"
@@ -133,8 +133,8 @@ extended regex(7) matching of the values of two data expressions, returning
 true if \fIdata-expression-1\fR matches against the regular expression
 evaluated by \fIdata-expression-2\fR, or false if it does not match or
 encounters some error.  If either the left-hand side or the right-hand side 
-are null, the result is also false.  The \fB~~\fR operator differs from the
-\fB~=\fR operator in that it is case-insensitive.
+are null or empty strings, the result is also false.  The \fB~~\fR operator
+differs from the \fB~=\fR operator in that it is case-insensitive.
 .RE
 .PP
 .I boolean-expression-1 \fBand\fR \fIboolean-expression-2\fR
index c546855415d66aad1e749d37636dd81b4602293e..7ad81cf1c2a919a9edf1b58d2941e61db0e38a32 100644 (file)
@@ -1125,7 +1125,7 @@ int evaluate_boolean_expression (result, packet, lease, client_state,
                *result = 0;
                memset(&re, 0, sizeof(re));
                if (bleft && bright &&
-                   (left.data != NULL) &&
+                   (left.data != NULL) && (right.data != NULL) &&
                    (regcomp(&re, (char *)right.data, regflags) == 0) &&
                    (regexec(&re, (char *)left.data, (size_t)0, NULL, 0) == 0))
                                *result = 1;