linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] fix mem-leak in netfilter
@ 2006-05-07  2:26 Jesper Juhl
  2006-05-07  9:36 ` Willy Tarreau
  0 siblings, 1 reply; 32+ messages in thread
From: Jesper Juhl @ 2006-05-07  2:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Stephen Frost, laforge, netfilter-devel, Jesper Juhl

The Coverity checker spotted that we may leak 'hold' in 
net/ipv4/netfilter/ipt_recent.c::checkentry() when the following
is true : 
  if (!curr_table->status_proc) {
    ...
    if(!curr_table) {
    ...
      return 0;  <-- here we leak.
Simply moving an existing vfree(hold); up a bit avoids the possible leak.


(please keep me on CC when replying since I'm not subscribed 
 to netfilter-devel)


Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---

 net/ipv4/netfilter/ipt_recent.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.17-rc3-git12-orig/net/ipv4/netfilter/ipt_recent.c	2006-05-07 03:25:38.000000000 +0200
+++ linux-2.6.17-rc3-git12/net/ipv4/netfilter/ipt_recent.c	2006-05-07 04:16:26.000000000 +0200
@@ -821,6 +821,7 @@ checkentry(const char *tablename,
 	/* Create our proc 'status' entry. */
 	curr_table->status_proc = create_proc_entry(curr_table->name, ip_list_perms, proc_net_ipt_recent);
 	if (!curr_table->status_proc) {
+		vfree(hold);
 		printk(KERN_INFO RECENT_NAME ": checkentry: unable to allocate for /proc entry.\n");
 		/* Destroy the created table */
 		spin_lock_bh(&recent_lock);
@@ -845,7 +846,6 @@ checkentry(const char *tablename,
 		spin_unlock_bh(&recent_lock);
 		vfree(curr_table->time_info);
 		vfree(curr_table->hash_table);
-		vfree(hold);
 		vfree(curr_table->table);
 		vfree(curr_table);
 		return 0;



^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2006-06-02 21:32 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-07  2:26 [PATCH] fix mem-leak in netfilter Jesper Juhl
2006-05-07  9:36 ` Willy Tarreau
2006-05-07 22:42   ` Grant Coady
2006-05-08  5:07     ` Willy Tarreau
2006-05-08  5:43       ` David S. Miller
2006-05-08  8:36         ` Amin Azez
2006-05-08  9:08           ` Juergen Kreileder
2006-05-12  7:40         ` Patrick McHardy
2006-05-12 11:09           ` Jesper Juhl
2006-05-12 11:33             ` Patrick McHardy
2006-05-12 12:13               ` Jesper Juhl
2006-05-12 12:40                 ` Willy Tarreau
2006-05-12 12:49                   ` Patrick McHardy
     [not found]               ` <446490BB.10801@ufomechanic.net>
2006-05-15  8:25                 ` Patrick McHardy
2006-05-15 14:28                   ` Stephen Frost
2006-05-15 18:49                     ` Patrick McHardy
2006-05-15 19:27                       ` Stephen Frost
2006-05-15 20:09                         ` Patrick McHardy
2006-05-15 20:41                           ` Stephen Frost
2006-05-15 20:45                             ` Patrick McHardy
2006-05-15 21:03                             ` Stephen Frost
2006-05-17  6:26                               ` Patrick McHardy
2006-05-17  6:59                                 ` David S. Miller
2006-05-17  7:19                                   ` Patrick McHardy
2006-05-17 10:55                                     ` Stephen Frost
2006-05-17  7:09                                 ` David S. Miller
2006-05-17  7:13                                   ` Roland Dreier
2006-05-17  7:19                                   ` Patrick McHardy
2006-05-17 13:14                                 ` Stephen Frost
2006-06-01 13:43                                 ` Andrew James Wade
2006-06-01 14:53                                   ` Patrick McHardy
2006-06-02 21:32                                     ` Andrew James Wade

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).