aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2008-06-16 07:01:41 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2008-06-16 07:01:41 +0000
commit4c166484f4c718ecd57f6b8a9fe7958d09c93900 (patch)
tree209aa8e0275a8fc472f1c57d3f2436fb9e94a598
parenta8e3e989dd6aba29033084662efdad8c71b86ca3 (diff)
downloadrtmux-4c166484f4c718ecd57f6b8a9fe7958d09c93900.tar.gz
rtmux-4c166484f4c718ecd57f6b8a9fe7958d09c93900.tar.bz2
rtmux-4c166484f4c718ecd57f6b8a9fe7958d09c93900.zip
Memory leak/missing init.
-rw-r--r--array.h6
-rw-r--r--cmd.c3
-rw-r--r--key-bindings.c5
3 files changed, 8 insertions, 6 deletions
diff --git a/array.h b/array.h
index fde200ed..38b703d9 100644
--- a/array.h
+++ b/array.h
@@ -1,4 +1,4 @@
-/* $Id: array.h,v 1.2 2007-08-27 08:08:19 nicm Exp $ */
+/* $Id: array.h,v 1.3 2008-06-16 07:01:40 nicm Exp $ */
/*
* Copyright (c) 2006 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -59,9 +59,9 @@
#define ARRAY_REMOVE(a, i) do { \
if (((u_int) (i)) >= (a)->num) \
abort(); \
- if (i < (a)->num - 1) { \
+ if ((i) < (a)->num - 1) { \
memmove((a)->list + (i), (a)->list + (i) + 1, \
- ARRAY_ITEMSIZE(a) * ((a)->num - (i) - 1)); \
+ ARRAY_ITEMSIZE(a) * ((a)->num - (i) - 1)); \
} \
(a)->num--; \
if ((a)->num == 0) \
diff --git a/cmd.c b/cmd.c
index 0add444c..b801f85b 100644
--- a/cmd.c
+++ b/cmd.c
@@ -1,4 +1,4 @@
-/* $Id: cmd.c,v 1.46 2008-06-16 06:10:02 nicm Exp $ */
+/* $Id: cmd.c,v 1.47 2008-06-16 07:01:41 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -112,6 +112,7 @@ cmd_parse(int argc, char **argv, char **cause)
cmd = xmalloc(sizeof *cmd);
cmd->entry = entry;
+ cmd->data = NULL;
if (entry->parse != NULL) {
if (entry->parse(cmd, argc, argv, cause) != 0) {
xfree(cmd);
diff --git a/key-bindings.c b/key-bindings.c
index 7a0d812e..1c936d20 100644
--- a/key-bindings.c
+++ b/key-bindings.c
@@ -1,4 +1,4 @@
-/* $Id: key-bindings.c,v 1.29 2008-06-05 16:35:32 nicm Exp $ */
+/* $Id: key-bindings.c,v 1.30 2008-06-16 07:01:41 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -44,7 +44,8 @@ key_bindings_add(int key, struct cmd *cmd)
if (i == ARRAY_LENGTH(&key_bindings)) {
bd = xmalloc(sizeof *bd);
ARRAY_ADD(&key_bindings, bd);
- }
+ } else
+ cmd_free(bd->cmd);
bd->key = key;
bd->cmd = cmd;