mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Memory leak/missing init.
This commit is contained in:
		
							
								
								
									
										6
									
								
								array.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								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)						\
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								cmd.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								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);
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user