From e19f362e282d58d90bc6ee46eaef5362db8172f8 Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Mon, 21 Jul 2014 15:44:59 +0000 Subject: Fix hdestroy() compliance issue. The hcreate(3) implementation and related functions we inherited from NetBSD used to free() the key value, something that is not supported by the standard implementation. This would cause a segmentation fault when attempting to run the examples from the opengroup and linux manpages. NetBSD has added non-standard calls to provide the previous behaviour but hdestroy is not very commonly used so at this time it seems excessive to bring those to FreeBSD. Bump the __FreeBSD_version as this is an ABI change. Reference: http://bugs.dragonflybsd.org/issues/1398 MFC after: 2 weeks --- lib/libc/stdlib/hcreate.c | 1 - 1 file changed, 1 deletion(-) (limited to 'lib/libc/stdlib/hcreate.c') diff --git a/lib/libc/stdlib/hcreate.c b/lib/libc/stdlib/hcreate.c index e8213f90b5ef..b3be9b4dc435 100644 --- a/lib/libc/stdlib/hcreate.c +++ b/lib/libc/stdlib/hcreate.c @@ -159,7 +159,6 @@ hdestroy_r(struct hsearch_data *head) while (!SLIST_EMPTY(&table[idx])) { ie = SLIST_FIRST(&table[idx]); SLIST_REMOVE_HEAD(&table[idx], link); - free(ie->ent.key); free(ie); } } -- cgit v1.2.3