[PATCH:xmodmap 2/3] Free copy of input line at end of process_line instead of leaking it
Alan Coopersmith
alan.coopersmith at oracle.com
Fri Nov 11 21:27:05 PST 2011
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
pf.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/pf.c b/pf.c
index 0cc8101..0eb0f55 100644
--- a/pf.c
+++ b/pf.c
@@ -30,6 +30,7 @@ from The Open Group.
#include <X11/Xlib.h>
#include <stdio.h>
#include <ctype.h>
+#include <stdlib.h>
#include "xmodmap.h"
#define NOTINFILEFILENAME "commandline"
@@ -96,11 +97,11 @@ void process_line (const char *line)
register char c = buffer[i];
if (!(isspace(c) || c == '\n')) break;
}
- if (i == len) return;
+ if (i == len) goto done;
cp = &buffer[i];
- if (*cp == '!') return; /* look for comments */
+ if (*cp == '!') goto done; /* look for comments */
len -= (cp - buffer); /* adjust len by how much we skipped */
/* pipe through cpp */
@@ -118,4 +119,7 @@ void process_line (const char *line)
/* handle input */
handle_line (cp, len);
+
+ done:
+ free(buffer);
}
--
1.7.3.2
More information about the xorg-devel
mailing list