diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2008-06-16 07:01:41 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2008-06-16 07:01:41 +0000 |
commit | 4c166484f4c718ecd57f6b8a9fe7958d09c93900 (patch) | |
tree | 209aa8e0275a8fc472f1c57d3f2436fb9e94a598 | |
parent | a8e3e989dd6aba29033084662efdad8c71b86ca3 (diff) | |
download | rtmux-4c166484f4c718ecd57f6b8a9fe7958d09c93900.tar.gz rtmux-4c166484f4c718ecd57f6b8a9fe7958d09c93900.tar.bz2 rtmux-4c166484f4c718ecd57f6b8a9fe7958d09c93900.zip |
Memory leak/missing init.
-rw-r--r-- | array.h | 6 | ||||
-rw-r--r-- | cmd.c | 3 | ||||
-rw-r--r-- | key-bindings.c | 5 |
3 files changed, 8 insertions, 6 deletions
@@ -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) \ @@ -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; |