--- ./net/ipv4/netfilter/ipt_recent.c~ 2005-04-14 11:42:20.000000000 +0200 +++ ./net/ipv4/netfilter/ipt_recent.c 2005-04-14 11:44:06.000000000 +0200 @@ -830,6 +830,7 @@ if(debug) printk(KERN_INFO RECENT_NAME ": checkentry() create_proc failed, no tables.\n"); #endif spin_unlock_bh(&recent_lock); + vfree(hold); return 0; } while( strncmp(info->name,curr_table->name,IPT_RECENT_NAME_LEN) && (last_table = curr_table) && (curr_table = curr_table->next) ); @@ -838,6 +839,7 @@ if(debug) printk(KERN_INFO RECENT_NAME ": checkentry() create_proc failed, table already destroyed.\n"); #endif spin_unlock_bh(&recent_lock); + vfree(hold); return 0; } if(last_table) last_table->next = curr_table->next; else r_tables = curr_table->next;