Skip to contentSkip to conversation

IMPORTANT: trivial fix for bug introduced by hlist change

PATCH New Samuel Jean 1 participant 1 message Mar 27, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 IMPORTANT: trivial fix for bug introduced by hlist change

Hi Harald,

I've introduced a really annoying bug with the hlist change.. *sigh* __dsthash_find() will return junk as soon as there's something in the bucket.

Patch's attached.

Sorry for the inconveniant, please apply ASAP.

net/ipv4/netfilter/ipt_hashlimit.c +3 -3
@@ -116,18 +116,18 @@ hash_dst(const struct ipt_hashlimit_htab
 static inline struct dsthash_ent *
 __dsthash_find(const struct ipt_hashlimit_htable *ht, struct dsthash_dst *dst)
 {
-	struct dsthash_ent *ent = NULL;
+	struct dsthash_ent *ent;
 	struct hlist_node *pos;
 	u_int32_t hash = hash_dst(ht, dst);
 
 	if (!hlist_empty(&ht->hash[hash]))
 		hlist_for_each_entry(ent, pos, &ht->hash[hash], node) {
 			if (dst_cmp(ent, dst)) {
-				break;
+				return ent;
 			}
 		}
 	
-	return ent;
+	return NULL;
 }
 
 /* allocate dsthash_ent, initialize dst, put in htable and lock it */