On Tuesday 17 January 2006 06:51, Doug Rabson wrote: > On 20 Dec 2005, at 21:06, John Baldwin wrote: > > jhb 2005-12-20 21:06:43 UTC > > > > FreeBSD src repository > > > > Modified files: > > sys/pci agp.c > > Log: > > Change the agp_find_device() to return the first agp device that > > has been > > attached to a driver rather than always returning agp0. > > According to Coverity, this introduces a memory leak > (devclass_get_devices() allocates memory).
That it does. How about this fix: Index: pci/agp.c =================================================================== RCS file: /usr/cvs/src/sys/pci/agp.c,v retrieving revision 1.50 diff -u -r1.50 agp.c --- pci/agp.c 20 Dec 2005 21:06:43 -0000 1.50 +++ pci/agp.c 17 Jan 2006 16:10:20 -0000 @@ -830,18 +830,22 @@ device_t agp_find_device() { - device_t *children; + device_t *children, child; int i, count; if (!agp_devclass) return NULL; if (devclass_get_devices(agp_devclass, &children, &count) != 0) return NULL; + child = NULL; for (i = 0; i < count; i++) { - if (device_is_attached(children[i])) - return (children[i]); + if (device_is_attached(children[i])) { + child = children[i]; + break; + } } - return NULL; + free(children, M_TEMP); + return child; } enum agp_acquire_state -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"