ports/85113: Patch for double-free in port www/squirm
Phil Kernick
philk at rotfl.com.au
Fri Aug 19 05:20:15 UTC 2005
>Number: 85113
>Category: ports
>Synopsis: Patch for double-free in port www/squirm
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Aug 19 05:20:14 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Phil Kernick
>Release: FreeBSD 5.4-RELEASE-p6 i386
>Organization:
>Environment:
System: FreeBSD catbert.rotfl.com.au 5.4-RELEASE-p6 FreeBSD 5.4-RELEASE-p6 #0: Mon Aug 15 13:12:48 CST 2005 root at catbert.rotfl.com.au:/usr/src/sys/i386/compile/CATBERT i386
>Description:
port www/squirm under FreeBSD 5.4 aborts with a chunk already freed error.
This is a software bug in the application and causes it to not work at all
under 5.x.
>How-To-Repeat:
Run squirm as root from a command line, and press Ctrl+D.
squirm will about with an "error: chunk is already free".
>Fix:
Apply this patch to fix the problem:
--- lists.c.orig Fri Aug 19 13:53:29 2005
+++ lists.c Fri Aug 19 14:23:42 2005
@@ -366,7 +366,6 @@
next = head->next;
if(head->patterns.pattern) {
cfree(head->patterns.pattern);
- regfree(&(head->patterns.cpattern));
}
if(head->patterns.replacement)
cfree(head->patterns.replacement);
@@ -383,7 +382,6 @@
if(prev->patterns.pattern) {
cfree(prev->patterns.pattern);
- regfree(&(prev->patterns.cpattern));
}
if(prev->patterns.replacement)
cfree(prev->patterns.replacement);
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list