Blame SOURCES/freeradius-valuepair-don-t-remove-unkown-backslash.patch

75e927
From 90b5b46341dbba78d8cd98d55d1b9321544c7887 Mon Sep 17 00:00:00 2001
75e927
From: Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com>
75e927
Date: Mon, 15 Dec 2014 14:42:56 +0200
75e927
Subject: [PATCH 1/1] valuepair: Don't remove unknown backslash
75e927
75e927
Don't remove backslash from unknown escape sequences in pairparsevalue,
75e927
adhering to behavior common to most other programs dealing with
75e927
backslash escape sequences.
75e927
---
75e927
 src/lib/valuepair.c | 14 ++++++++------
75e927
 1 file changed, 8 insertions(+), 6 deletions(-)
75e927
75e927
diff --git a/src/lib/valuepair.c b/src/lib/valuepair.c
75e927
index 7d6ee88..7742b81 100644
75e927
--- a/src/lib/valuepair.c
75e927
+++ b/src/lib/valuepair.c
75e927
@@ -1176,12 +1176,14 @@ int pairparsevalue(VALUE_PAIR *vp, char const *value, size_t inlen)
75e927
 					c = x;
75e927
 					cp += 3;
75e927
 
75e927
-				} else if (cp[0]) {
75e927
-					/*
75e927
-					 *	\p --> p
75e927
-					 */
75e927
-					c = *cp++;
75e927
-				} /* else at EOL \ --> \ */
75e927
+				}
75e927
+
75e927
+				/*
75e927
+				 *	Else It's not a recognised escape sequence DON'T
75e927
+				 *	consume the backslash. This is identical
75e927
+				 *	behaviour to bash and most other things that
75e927
+				 *	use backslash escaping.
75e927
+				 */
75e927
 			}
75e927
 			*p++ = c;
75e927
 			vp_len++;
75e927
-- 
75e927
2.1.3
75e927