| Summary: | Free of invalid pointer in _mesa_free | ||
|---|---|---|---|
| Product: | Mesa | Reporter: | Brad King <brad.king> |
| Component: | Mesa core | Assignee: | mesa-dev |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | critical | ||
| Priority: | high | CC: | chewi |
| Version: | git | ||
| Hardware: | x86 (IA32) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
|
Description
Brad King
2005-11-23 09:26:08 UTC
Brad, I'm seeing the same error here using glibc 2.2.93 (Fedora Core 4).
I think the safest thing to do right now is to disable line 497:
FREE((void *)fp->func);
At first glance, I'd replace FREE with _mesa_exec_free() but I don't know if we
can be sure that fp->func always points to memory allocated with
_mesa_exec_malloc() or if might sometimes point to an ordinary C function.
I'll check in a "fix" that simply disables that line for now. It won't be a
huge leak.
Maybe Keith can comment.
Strange, I wonder why I didn't get it with my previous glibc, which was definately newer than 2.2.93. Anyway, if you are not sure what sets fp->func then you could create an additional member fp->freefunc that can be set to a function that frees fp->func. I cannot comment on whether this is a good design for your case or not but I wanted to suggest the idea. *** Bug 5185 has been marked as a duplicate of this bug. *** This was fixed in 6.4.1. The fix has been working in the nightly development version for quite some time now. Mass version move, cvs -> git |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.