[PATCH 05/11] Remove bad code from DoShowOptions (Xorg -showopts handler)

Alan Coopersmith alan.coopersmith at oracle.com
Thu Nov 3 22:34:14 PDT 2011


When we want to print a string, it's okay to just print it.
We don't need to first allocate a buffer 2 bytes bigger than the
string, copy the entire string unmodified to the buffer, print the
buffer, and then leak the buffer (though we AbortDDX 8 lines later,
and then just in case we survived that, call exit as well, so the
leak is short lived, just oh so pointless).

Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
Reviewed-by: Daniel Stone <daniel at fooishbar.org>
---

Dropped the renaming of optionTypeToSting from this patch, now just
deleting it in the next patch in this series.

 hw/xfree86/common/xf86ShowOpts.c |   12 ++----------
 1 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/hw/xfree86/common/xf86ShowOpts.c b/hw/xfree86/common/xf86ShowOpts.c
index a805916..a919013 100644
--- a/hw/xfree86/common/xf86ShowOpts.c
+++ b/hw/xfree86/common/xf86ShowOpts.c
@@ -107,16 +107,8 @@ void DoShowOptions (void) {
 					i,xf86DriverList[i]->driverName,vers->vendor
 				);
 				for (p = pOption; p->name != NULL; p++) {
-					const char *opttype = optionTypeToSting(p->type);
-					/* XXX: Why overallocate by 2 bytes?
-					 * Otherwise, this would be strdup()
-					 */
-					char *optname = malloc(strlen(p->name) + 2 + 1);
-					if (!optname) {
-						continue;                      
-					}
-					sprintf(optname, "%s", p->name);
-					ErrorF ("\t%s:%s\n", optname,opttype);
+					ErrorF ("\t%s:%s\n", p->name,
+						optionTypeToSting(p->type));
 				}
 				ErrorF ("}\n");
 			}
-- 
1.7.3.2



More information about the xorg-devel mailing list