- fix memory leak reading ldap master map. - fix st_remove_tasks() locking. - reset flex scanner when setting buffer. - zero s_magic is valid.
60 lines
1.4 KiB
Diff
60 lines
1.4 KiB
Diff
autofs-5.0.4 - reset flex scanner when setting buffer
|
|
|
|
From: Ian Kent <raven@themaw.net>
|
|
|
|
We still have problems resetting the flex scan buffer after an error
|
|
is detected. This appears to fix the problem.
|
|
---
|
|
|
|
CHANGELOG | 1 +
|
|
lib/master_tok.l | 9 ++++++++-
|
|
2 files changed, 9 insertions(+), 1 deletions(-)
|
|
|
|
|
|
diff --git a/CHANGELOG b/CHANGELOG
|
|
index c8b88e4..5f1cf7f 100644
|
|
--- a/CHANGELOG
|
|
+++ b/CHANGELOG
|
|
@@ -38,6 +38,7 @@
|
|
- fix lsb init script header.
|
|
- fix memory leak reading master map.
|
|
- fix st_remove_tasks() locking.
|
|
+- reset flex scanner when setting buffer.
|
|
|
|
4/11/2008 autofs-5.0.4
|
|
-----------------------
|
|
diff --git a/lib/master_tok.l b/lib/master_tok.l
|
|
index b6cc8be..373248b 100644
|
|
--- a/lib/master_tok.l
|
|
+++ b/lib/master_tok.l
|
|
@@ -130,7 +130,6 @@ OPTNTOUT (-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo
|
|
\x00 {
|
|
if (optr != buff) {
|
|
*optr = '\0';
|
|
- optr = buff;
|
|
strcpy(master_lval.strtype, buff);
|
|
return NILL;
|
|
}
|
|
@@ -139,6 +138,11 @@ OPTNTOUT (-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo
|
|
#.* { return COMMENT; }
|
|
|
|
"/" {
|
|
+ if (optr != buff) {
|
|
+ *optr = '\0';
|
|
+ strcpy(master_lval.strtype, buff);
|
|
+ return NILL;
|
|
+ }
|
|
BEGIN(PATHSTR);
|
|
bptr = buff;
|
|
yyless(0);
|
|
@@ -410,6 +414,9 @@ static void master_echo(void)
|
|
|
|
void master_set_scan_buffer(const char *buffer)
|
|
{
|
|
+ master_lex_destroy();
|
|
+ optr = buff;
|
|
+
|
|
line = buffer;
|
|
line_pos = &line[0];
|
|
/*
|