Commented double-free buggy code. Will examine more closely later.
--- a/src/video/x11/SDL_x11yuv.c Thu Aug 01 23:24:13 2002 +0000
+++ b/src/video/x11/SDL_x11yuv.c Mon Aug 12 14:54:38 2002 +0000
@@ -132,17 +132,23 @@
SDL_NAME(XvFreeAdaptorInfo)(ainfo);
}
+#if 0
/*
* !!! FIXME:
* "Here are some diffs for X11 and yuv. Note that the last part 2nd
* diff should probably be a new call to XvQueryAdaptorFree with ainfo
* and the number of adaptors, instead of the loop through like I did."
+ *
+ * ACHTUNG: This is broken! It looks like XvFreeAdaptorInfo does this
+ * for you, so we end up with a double-free. I need to look at this
+ * more closely... --ryan.
*/
for ( i=0; i < adaptors; ++i ) {
if (ainfo[i].name != NULL) Xfree(ainfo[i].name);
if (ainfo[i].formats != NULL) Xfree(ainfo[i].formats);
}
Xfree(ainfo);
+#endif
if ( xv_port == -1 ) {
SDL_SetError("No available video ports for requested format");