[PATCH] Remove more superfluous if(p) checks around free(p)
Matt Turner
mattst88 at gmail.com
Sun Jun 6 06:17:31 PDT 2010
On Sun, Jun 6, 2010 at 4:40 AM, Mikhail Gusarov <dottedmag at dottedmag.net> wrote:
> This patch has been generated by the following Coccinelle semantic patch:
>
> @@
> expression E;
> @@
>
> -if(E) { free(E); }
> +free(E);
>
> Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
> ---
> Xext/panoramiX.c | 3 +-
> Xext/security.c | 2 +-
> Xext/xace.c | 2 +-
> Xext/xvmc.c | 9 ++----
> Xi/gtmotion.c | 3 +-
> Xi/xiproperty.c | 9 ++----
> config/dbus.c | 6 +---
> config/hal.c | 48 +++++++++++----------------------
> dbe/dbe.c | 15 ++--------
> dix/colormap.c | 12 +++-----
> dix/devices.c | 15 +++-------
> dix/dispatch.c | 4 +-
> dix/dixfonts.c | 14 ++++-----
> dix/dixutils.c | 2 +-
> dix/events.c | 12 +++-----
> dix/getevents.c | 3 +-
> dix/grabs.c | 8 +++---
> dix/region.c | 3 +-
> exa/exa_mixed.c | 3 +-
> glx/glxcmds.c | 3 +-
> glx/glxext.c | 12 ++++----
> glx/single2.c | 6 +---
> glx/xfont.c | 4 +--
> hw/dmx/config/dmxparse.c | 4 +-
> hw/dmx/dmx.h | 2 +-
> hw/dmx/dmxinit.c | 4 +-
> hw/dmx/dmxstat.c | 2 +-
> hw/dmx/glxProxy/glxutil.c | 4 +--
> hw/dmx/glxProxy/glxvisuals.c | 3 +-
> hw/dmx/input/dmxbackend.c | 2 +-
> hw/dmx/input/dmxconsole.c | 2 +-
> hw/dmx/input/dmxinputinit.c | 12 ++++----
> hw/dmx/input/lnx-keyboard.c | 2 +-
> hw/dmx/input/lnx-ms.c | 2 +-
> hw/dmx/input/lnx-ps2.c | 2 +-
> hw/dmx/input/usb-common.c | 2 +-
> hw/kdrive/fake/fake.c | 3 +-
> hw/xfree86/common/xf86AutoConfig.c | 3 +-
> hw/xfree86/common/xf86Cursor.c | 8 +++---
> hw/xfree86/common/xf86Helper.c | 9 ++----
> hw/xfree86/common/xf86Xinput.c | 6 +---
> hw/xfree86/common/xf86cmap.c | 2 +-
> hw/xfree86/common/xf86sbusBus.c | 3 +-
> hw/xfree86/dixmods/extmod/xf86vmode.c | 3 +-
> hw/xfree86/dri/dri.c | 8 ++---
> hw/xfree86/loader/loadext.c | 6 +---
> hw/xfree86/loader/loadmod.c | 12 +++-----
> hw/xfree86/modes/xf86Crtc.c | 9 ++----
> hw/xfree86/modes/xf86DiDGA.c | 3 +-
> hw/xfree86/modes/xf86Rotate.c | 6 +---
> hw/xfree86/parser/Flags.c | 3 +-
> hw/xfree86/parser/scan.c | 6 +---
> hw/xfree86/ramdac/xf86RamDac.c | 6 +---
> hw/xfree86/vgahw/vgaHW.c | 3 +-
> hw/xfree86/xaa/xaaCpyArea.c | 4 +-
> hw/xfree86/xaa/xaaGC.c | 3 +-
> hw/xfree86/xaa/xaaInit.c | 6 +---
> hw/xfree86/xaa/xaaLineMisc.c | 3 +-
> hw/xfree86/xaa/xaaPCache.c | 18 ++++--------
> hw/xfree86/xaa/xaaTEText.c | 3 +-
> hw/xnest/Color.c | 8 ++---
> hw/xwin/winclipboardxevents.c | 9 ++----
> hw/xwin/winerror.c | 6 +---
> hw/xwin/winprefs.c | 12 +++-----
> mi/miarc.c | 6 +---
> mi/mibitblt.c | 19 +++++--------
> mi/micopy.c | 9 ++----
> mi/mifillrct.c | 4 +-
> mi/mifpolycon.c | 6 ++--
> mi/mipolycon.c | 4 +-
> mi/mispans.c | 12 +++-----
> randr/rrcrtc.c | 36 ++++++++----------------
> randr/rroutput.c | 15 +++-------
> randr/rrproperty.c | 30 +++++++-------------
> randr/rrscreen.c | 3 +-
> randr/rrtransform.c | 6 +---
> record/record.c | 8 ++---
> record/set.c | 2 +-
> render/picture.c | 3 +-
> xkb/XKBGAlloc.c | 6 +---
> xkb/XKBMAlloc.c | 9 ++----
> xkb/maprules.c | 28 +++++++++---------
> xkb/xkbInit.c | 30 +++++++-------------
> xkb/xkbLEDs.c | 4 +-
> 84 files changed, 240 insertions(+), 412 deletions(-)
>
> diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c
> index 1cb58b5..27ca01f 100644
> --- a/Xext/panoramiX.c
> +++ b/Xext/panoramiX.c
> @@ -1276,8 +1276,7 @@ XineramaGetImageData(
>
> }
>
> - if(ScratchMem)
> - free(ScratchMem);
> + free(ScratchMem);
>
> RegionUninit(&SrcRegion);
> RegionUninit(&GrabRegion);
> diff --git a/Xext/security.c b/Xext/security.c
> index 12210f8..9ef6d19 100644
> --- a/Xext/security.c
> +++ b/Xext/security.c
> @@ -604,7 +604,7 @@ bailout:
> if (removeAuth)
> RemoveAuthorization(stuff->nbytesAuthProto, protoname,
> authdata_len, pAuthdata);
> - if (pAuth) free(pAuth);
> + free(pAuth);
> return err;
>
> } /* ProcSecurityGenerateAuthorization */
> diff --git a/Xext/xace.c b/Xext/xace.c
> index abd4690..e10d837 100644
> --- a/Xext/xace.c
> +++ b/Xext/xace.c
> @@ -323,7 +323,7 @@ XaceCensorImage(
> */
> memset(pBuf, 0, (int)(widthBytesLine * h));
> }
> - if (pRects) free(pRects);
> + free(pRects);
> if (pScratchGC) FreeScratchGC(pScratchGC);
> if (pPix) FreeScratchPixmapHeader(pPix);
> }
> diff --git a/Xext/xvmc.c b/Xext/xvmc.c
> index 982fad1..8fbdfae 100644
> --- a/Xext/xvmc.c
> +++ b/Xext/xvmc.c
> @@ -259,8 +259,7 @@ ProcXvMCCreateContext(ClientPtr client)
> WriteToClient(client, dwords << 2, (char*)data);
> AddResource(pContext->context_id, XvMCRTContext, pContext);
>
> - if(data)
> - free(data);
> + free(data);
>
> return Success;
> }
> @@ -327,8 +326,7 @@ ProcXvMCCreateSurface(ClientPtr client)
> WriteToClient(client, dwords << 2, (char*)data);
> AddResource(pSurface->surface_id, XvMCRTSurface, pSurface);
>
> - if(data)
> - free(data);
> + free(data);
>
> pContext->refcnt++;
>
> @@ -444,8 +442,7 @@ ProcXvMCCreateSubpicture(ClientPtr client)
> WriteToClient(client, dwords << 2, (char*)data);
> AddResource(pSubpicture->subpicture_id, XvMCRTSubpicture, pSubpicture);
>
> - if(data)
> - free(data);
> + free(data);
>
> pContext->refcnt++;
>
> diff --git a/Xi/gtmotion.c b/Xi/gtmotion.c
> index 32d80ee..9132f4f 100644
> --- a/Xi/gtmotion.c
> +++ b/Xi/gtmotion.c
> @@ -153,8 +153,7 @@ ProcXGetDeviceMotionEvents(ClientPtr client)
> }
> WriteToClient(client, length * 4, (char *)coords);
> }
> - if (coords)
> - free(coords);
> + free(coords);
> return Success;
> }
>
> diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
> index b4d939f..c1839aa 100644
> --- a/Xi/xiproperty.c
> +++ b/Xi/xiproperty.c
> @@ -622,8 +622,7 @@ XIFetchDeviceProperty(DeviceIntPtr dev, Atom property)
> static void
> XIDestroyDeviceProperty (XIPropertyPtr prop)
> {
> - if (prop->value.data)
> - free(prop->value.data);
> + free(prop->value.data);
> free(prop);
> }
>
> @@ -798,8 +797,7 @@ XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type,
> &new_value, checkonly);
> if (checkonly && rc != Success)
> {
> - if (new_value.data)
> - free(new_value.data);
> + free(new_value.data);
> return (rc);
> }
> }
> @@ -808,8 +806,7 @@ XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type,
> checkonly = !checkonly;
> } while (!checkonly);
> }
> - if (prop_value->data)
> - free(prop_value->data);
> + free(prop_value->data);
> *prop_value = new_value;
> } else if (len == 0)
> {
> diff --git a/config/dbus.c b/config/dbus.c
> index ee90da0..c4bf7e8 100644
> --- a/config/dbus.c
> +++ b/config/dbus.c
> @@ -184,10 +184,8 @@ unwind:
> while (options) {
> tmpo = options;
> options = options->next;
> - if (tmpo->key)
> - free(tmpo->key);
> - if (tmpo->value)
> - free(tmpo->value);
> + free(tmpo->key);
> + free(tmpo->value);
> free(tmpo);
> }
>
> diff --git a/config/hal.c b/config/hal.c
> index 15eb177..ecbca2f 100644
> --- a/config/hal.c
> +++ b/config/hal.c
> @@ -251,28 +251,23 @@ device_added(LibHalContext *hal_ctx, const char *udi)
> {
> if (!strcasecmp(&tmp[3], "layout"))
> {
> - if (xkb_opts.layout)
> - free(xkb_opts.layout);
> + free(xkb_opts.layout);
> xkb_opts.layout = strdup(tmp_val);
> } else if (!strcasecmp(&tmp[3], "model"))
> {
> - if (xkb_opts.model)
> - free(xkb_opts.model);
> + free(xkb_opts.model);
> xkb_opts.model = strdup(tmp_val);
> } else if (!strcasecmp(&tmp[3], "rules"))
> {
> - if (xkb_opts.rules)
> - free(xkb_opts.rules);
> + free(xkb_opts.rules);
> xkb_opts.rules = strdup(tmp_val);
> } else if (!strcasecmp(&tmp[3], "variant"))
> {
> - if (xkb_opts.variant)
> - free(xkb_opts.variant);
> + free(xkb_opts.variant);
> xkb_opts.variant = strdup(tmp_val);
> } else if (!strcasecmp(&tmp[3], "options"))
> {
> - if (xkb_opts.options)
> - free(xkb_opts.options);
> + free(xkb_opts.options);
> xkb_opts.options = strdup(tmp_val);
> }
> } else
> @@ -289,8 +284,7 @@ device_added(LibHalContext *hal_ctx, const char *udi)
> (!strcasecmp(&tmp[3], "options")) &&
> (tmp_val = get_prop_string_array(hal_ctx, udi, psi_key)))
> {
> - if (xkb_opts.options)
> - free(xkb_opts.options);
> + free(xkb_opts.options);
> xkb_opts.options = strdup(tmp_val);
> }
> }
> @@ -366,22 +360,17 @@ device_added(LibHalContext *hal_ctx, const char *udi)
> }
>
> for (; dev; dev = dev->next){
> - if (dev->config_info)
> - free(dev->config_info);
> + free(dev->config_info);
> dev->config_info = strdup(config_info);
> }
>
> unwind:
> if (set)
> libhal_free_property_set(set);
> - if (path)
> - free(path);
> - if (driver)
> - free(driver);
> - if (name)
> - free(name);
> - if (config_info)
> - free(config_info);
> + free(path);
> + free(driver);
> + free(name);
> + free(config_info);
> while (!dev && (tmpo = options)) {
> options = tmpo->next;
> free(tmpo->key);
> @@ -401,16 +390,11 @@ unwind:
> free(attrs.tags);
> }
>
> - if (xkb_opts.layout)
> - free(xkb_opts.layout);
> - if (xkb_opts.rules)
> - free(xkb_opts.rules);
> - if (xkb_opts.model)
> - free(xkb_opts.model);
> - if (xkb_opts.variant)
> - free(xkb_opts.variant);
> - if (xkb_opts.options)
> - free(xkb_opts.options);
> + free(xkb_opts.layout);
> + free(xkb_opts.rules);
> + free(xkb_opts.model);
> + free(xkb_opts.variant);
> + free(xkb_opts.options);
>
> dbus_error_free(&error);
>
> diff --git a/dbe/dbe.c b/dbe/dbe.c
> index ef4b596..b4b7466 100644
> --- a/dbe/dbe.c
> +++ b/dbe/dbe.c
> @@ -693,10 +693,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
> if (!(pScrVisInfo = (XdbeScreenVisualInfo *)malloc(count *
> sizeof(XdbeScreenVisualInfo))))
> {
> - if (pDrawables)
> - {
> - free(pDrawables);
> - }
> + free(pDrawables);
>
> return(BadAlloc);
> }
> @@ -722,10 +719,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
> }
>
> /* Free pDrawables if we needed to allocate it above. */
> - if (pDrawables)
> - {
> - free(pDrawables);
> - }
> + free(pDrawables);
>
> return (rc == Success) ? BadAlloc : rc;
> }
> @@ -803,10 +797,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
> }
> free(pScrVisInfo);
>
> - if (pDrawables)
> - {
> - free(pDrawables);
> - }
> + free(pDrawables);
>
> return Success;
>
> diff --git a/dix/colormap.c b/dix/colormap.c
> index d530830..ae90690 100644
> --- a/dix/colormap.c
> +++ b/dix/colormap.c
> @@ -1639,8 +1639,7 @@ AllocColorCells (int client, ColormapPtr pmap, int colors, int planes,
> pcr->client = client;
> if (!AddResource(FakeClientID(client), RT_CMAPENTRY, (pointer)pcr))
> ok = BadAlloc;
> - } else if (pcr)
> - free(pcr);
> + } else free(pcr);
>
> return (ok);
> }
> @@ -1730,8 +1729,7 @@ AllocColorPlanes (int client, ColormapPtr pmap, int colors,
> pcr->client = client;
> if (!AddResource(FakeClientID(client), RT_CMAPENTRY, (pointer)pcr))
> ok = BadAlloc;
> - } else if (pcr)
> - free(pcr);
> + } else free(pcr);
>
> return (ok);
> }
> @@ -1764,9 +1762,9 @@ AllocDirect (int client, ColormapPtr pmap, int c, int r, int g, int b, Bool cont
> ppixBlue = malloc(npixB * sizeof(Pixel));
> if (!ppixRed || !ppixGreen || !ppixBlue)
> {
> - if (ppixBlue) free(ppixBlue);
> - if (ppixGreen) free(ppixGreen);
> - if (ppixRed) free(ppixRed);
> + free(ppixBlue);
> + free(ppixGreen);
> + free(ppixRed);
> return(BadAlloc);
> }
>
> diff --git a/dix/devices.c b/dix/devices.c
> index 427264d..8f9c8ff 100644
> --- a/dix/devices.c
> +++ b/dix/devices.c
> @@ -740,8 +740,7 @@ FreeDeviceClass(int type, pointer *class)
> case ButtonClass:
> {
> ButtonClassPtr *b = (ButtonClassPtr*)class;
> - if ((*b)->xkb_acts)
> - free((*b)->xkb_acts);
> + free((*b)->xkb_acts);
> free((*b));
> break;
> }
> @@ -749,8 +748,7 @@ FreeDeviceClass(int type, pointer *class)
> {
> ValuatorClassPtr *v = (ValuatorClassPtr*)class;
>
> - if ((*v)->motion)
> - free((*v)->motion);
> + free((*v)->motion);
> free((*v));
> break;
> }
> @@ -1465,10 +1463,8 @@ InitStringFeedbackClassDeviceStruct (
> feedc->ctrl.symbols_displayed = malloc(sizeof (KeySym) * max_symbols);
> if (!feedc->ctrl.symbols_supported || !feedc->ctrl.symbols_displayed)
> {
> - if (feedc->ctrl.symbols_supported)
> - free(feedc->ctrl.symbols_supported);
> - if (feedc->ctrl.symbols_displayed)
> - free(feedc->ctrl.symbols_displayed);
> + free(feedc->ctrl.symbols_supported);
> + free(feedc->ctrl.symbols_displayed);
> free(feedc);
> return FALSE;
> }
> @@ -2283,8 +2279,7 @@ ProcGetMotionEvents(ClientPtr client)
> WriteSwappedDataToClient(client, nEvents * sizeof(xTimecoord),
> (char *)coords);
> }
> - if (coords)
> - free(coords);
> + free(coords);
> return Success;
> }
>
> diff --git a/dix/dispatch.c b/dix/dispatch.c
> index 79bdb55..44164f2 100644
> --- a/dix/dispatch.c
> +++ b/dix/dispatch.c
> @@ -2837,7 +2837,7 @@ ProcQueryColors(ClientPtr client)
> return(BadAlloc);
> if( (rc = QueryColors(pcmp, count, (Pixel *)&stuff[1], prgbs, client)) )
> {
> - if (prgbs) free(prgbs);
> + free(prgbs);
> return rc;
> }
> memset(&qcr, 0, sizeof(xQueryColorsReply));
> @@ -2851,7 +2851,7 @@ ProcQueryColors(ClientPtr client)
> client->pSwapReplyFunc = (ReplySwapPtr) SQColorsExtend;
> WriteSwappedDataToClient(client, count * sizeof(xrgb), prgbs);
> }
> - if (prgbs) free(prgbs);
> + free(prgbs);
> return Success;
>
> }
> diff --git a/dix/dixfonts.c b/dix/dixfonts.c
> index 7635635..fd5da1b 100644
> --- a/dix/dixfonts.c
> +++ b/dix/dixfonts.c
> @@ -677,7 +677,7 @@ doListFontsAndAliases(ClientPtr client, LFclosurePtr c)
> return TRUE;
> }
> if (err == FontNameAlias) {
> - if (resolved) free(resolved);
> + free(resolved);
> resolved = malloc(resolvedlen + 1);
> if (resolved)
> memmove(resolved, tmpname, resolvedlen + 1);
> @@ -731,8 +731,7 @@ doListFontsAndAliases(ClientPtr client, LFclosurePtr c)
> {
> c->saved = c->current;
> c->haveSaved = TRUE;
> - if (c->savedName)
> - free(c->savedName);
> + free(c->savedName);
> c->savedName = malloc(namelen + 1);
> if (c->savedName)
> memmove(c->savedName, name, namelen + 1);
> @@ -828,10 +827,10 @@ bail:
> for (i = 0; i < c->num_fpes; i++)
> FreeFPE(c->fpe_list[i]);
> free(c->fpe_list);
> - if (c->savedName) free(c->savedName);
> + free(c->savedName);
> FreeFontNames(names);
> free(c);
> - if (resolved) free(resolved);
> + free(resolved);
> return TRUE;
> }
>
> @@ -994,8 +993,7 @@ doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c)
> c->saved = c->current;
> c->haveSaved = TRUE;
> c->savedNumFonts = numFonts;
> - if (c->savedName)
> - free(c->savedName);
> + free(c->savedName);
> c->savedName = malloc(namelen + 1);
> if (c->savedName)
> memmove(c->savedName, name, namelen + 1);
> @@ -1106,7 +1104,7 @@ bail:
> FreeFPE(c->fpe_list[i]);
> free(c->reply);
> free(c->fpe_list);
> - if (c->savedName) free(c->savedName);
> + free(c->savedName);
> free(c);
> return TRUE;
> }
> diff --git a/dix/dixutils.c b/dix/dixutils.c
> index 51dbd14..cb1c97c 100644
> --- a/dix/dixutils.c
> +++ b/dix/dixutils.c
> @@ -893,7 +893,7 @@ InitCallbackManager(void)
> {
> DeleteCallbackList(listsToCleanup[i]);
> }
> - if (listsToCleanup) free(listsToCleanup);
> + free(listsToCleanup);
>
> numCallbackListsToCleanup = 0;
> listsToCleanup = NULL;
> diff --git a/dix/events.c b/dix/events.c
> index 1be212f..2dc0e98 100644
> --- a/dix/events.c
> +++ b/dix/events.c
> @@ -3793,10 +3793,8 @@ DeliverFocusedEvent(DeviceIntPtr keybd, InternalEvent *event, WindowPtr window)
> }
>
> unwind:
> - if (xE)
> - free(xE);
> - if (xi2)
> - free(xi2);
> + free(xE);
> + free(xi2);
> return;
> }
>
> @@ -3976,10 +3974,8 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
> }
> }
>
> - if (xi)
> - free(xi);
> - if (xi2)
> - free(xi2);
> + free(xi);
> + free(xi2);
> }
>
> /* This function is used to set the key pressed or key released state -
> diff --git a/dix/getevents.c b/dix/getevents.c
> index 3892f6f..f9d65e9 100644
> --- a/dix/getevents.c
> +++ b/dix/getevents.c
> @@ -327,8 +327,7 @@ void
> AllocateMotionHistory(DeviceIntPtr pDev)
> {
> int size;
> - if (pDev->valuator->motion)
> - free(pDev->valuator->motion);
> + free(pDev->valuator->motion);
>
> if (pDev->valuator->numMotionEvents < 1)
> return;
> diff --git a/dix/grabs.c b/dix/grabs.c
> index 2931631..f850e3d 100644
> --- a/dix/grabs.c
> +++ b/dix/grabs.c
> @@ -441,10 +441,10 @@ DeletePassiveGrabFromList(GrabPtr pMinuendGrab)
> details = malloc(i * sizeof(Mask *));
> if (!deletes || !adds || !updates || !details)
> {
> - if (details) free(details);
> - if (updates) free(updates);
> - if (adds) free(adds);
> - if (deletes) free(deletes);
> + free(details);
> + free(updates);
> + free(adds);
> + free(deletes);
> return FALSE;
> }
>
> diff --git a/dix/region.c b/dix/region.c
> index 911fe16..a77d17b 100644
> --- a/dix/region.c
> +++ b/dix/region.c
> @@ -762,8 +762,7 @@ RegionOp(
> AppendRegions(newReg, r2BandEnd, r2End);
> }
>
> - if (oldData)
> - free(oldData);
> + free(oldData);
>
> if (!(numRects = newReg->data->numRects))
> {
> diff --git a/exa/exa_mixed.c b/exa/exa_mixed.c
> index 89cb137..7fa771d 100644
> --- a/exa/exa_mixed.c
> +++ b/exa/exa_mixed.c
> @@ -257,8 +257,7 @@ exaDestroyPixmap_mixed(PixmapPtr pPixmap)
> pExaPixmap->driverPriv = NULL;
>
> if (pExaPixmap->pDamage) {
> - if (pExaPixmap->sys_ptr)
> - free(pExaPixmap->sys_ptr);
> + free(pExaPixmap->sys_ptr);
> pExaPixmap->sys_ptr = NULL;
> pExaPixmap->pDamage = NULL;
> }
> diff --git a/glx/glxcmds.c b/glx/glxcmds.c
> index 49201d4..9e5b213 100644
> --- a/glx/glxcmds.c
> +++ b/glx/glxcmds.c
> @@ -2431,8 +2431,7 @@ int __glXDisp_ClientInfo(__GLXclientState *cl, GLbyte *pc)
>
> cl->GLClientmajorVersion = req->major;
> cl->GLClientminorVersion = req->minor;
> - if (cl->GLClientextensions)
> - free(cl->GLClientextensions);
> + free(cl->GLClientextensions);
> buf = (const char *)(req+1);
> cl->GLClientextensions = strdup(buf);
>
> diff --git a/glx/glxext.c b/glx/glxext.c
> index 4d02b47..e203156 100644
> --- a/glx/glxext.c
> +++ b/glx/glxext.c
> @@ -205,8 +205,8 @@ GLboolean __glXFreeContext(__GLXcontext *cx)
> {
> if (cx->idExists || cx->isCurrent) return GL_FALSE;
>
> - if (cx->feedbackBuf) free(cx->feedbackBuf);
> - if (cx->selectBuf) free(cx->selectBuf);
> + free(cx->feedbackBuf);
> + free(cx->selectBuf);
> if (cx == __glXLastContext) {
> __glXFlushContextCache();
> }
> @@ -323,10 +323,10 @@ glxClientCallback (CallbackListPtr *list,
> }
> }
>
> - if (cl->returnBuf) free(cl->returnBuf);
> - if (cl->largeCmdBuf) free(cl->largeCmdBuf);
> - if (cl->currentContexts) free(cl->currentContexts);
> - if (cl->GLClientextensions) free(cl->GLClientextensions);
> + free(cl->returnBuf);
> + free(cl->largeCmdBuf);
> + free(cl->currentContexts);
> + free(cl->GLClientextensions);
> break;
>
> default:
> diff --git a/glx/single2.c b/glx/single2.c
> index 0700626..56ad86d 100644
> --- a/glx/single2.c
> +++ b/glx/single2.c
> @@ -272,10 +272,8 @@ char *__glXcombine_strings(const char *cext_string, const char *sext_string)
> s2 = sext_string;
> }
> if (!combo_string || !s1) {
> - if (combo_string)
> - free(combo_string);
> - if (s1)
> - free(s1);
> + free(combo_string);
> + free(s1);
> return NULL;
> }
> combo_string[0] = '\0';
> diff --git a/glx/xfont.c b/glx/xfont.c
> index f0b5644..b4081cf 100644
> --- a/glx/xfont.c
> +++ b/glx/xfont.c
> @@ -97,9 +97,7 @@ static int __glXMakeBitmapFromGlyph(FontPtr font, CharInfoPtr pci)
> pci->metrics.characterWidth, 0,
> allocbuf ? allocbuf : buf) );
>
> - if (allocbuf) {
> - free(allocbuf);
> - }
> + free(allocbuf);
> return Success;
> #undef __GL_CHAR_BUF_SIZE
> }
> diff --git a/hw/dmx/config/dmxparse.c b/hw/dmx/config/dmxparse.c
> index 28a1835..35f1c21 100644
> --- a/hw/dmx/config/dmxparse.c
> +++ b/hw/dmx/config/dmxparse.c
> @@ -98,7 +98,7 @@ const char *dmxConfigCopyString(const char *string, int length)
>
> void dmxConfigFree(void *area)
> {
> - if (area) free(area);
> + free(area);
> }
>
> DMXConfigTokenPtr dmxConfigCreateToken(int token, int line,
> @@ -370,7 +370,7 @@ DMXConfigOptionPtr dmxConfigCreateOption(DMXConfigTokenPtr pStart,
> void dmxConfigFreeOption(DMXConfigOptionPtr p)
> {
> if (!p) return;
> - if (p->string) free(p->string);
> + free(p->string);
> dmxConfigFreeToken(p->start);
> dmxConfigFreeString(p->option);
> dmxConfigFreeToken(p->end);
> diff --git a/hw/dmx/dmx.h b/hw/dmx/dmx.h
> index 4532960..bf4b92c 100644
> --- a/hw/dmx/dmx.h
> +++ b/hw/dmx/dmx.h
> @@ -351,7 +351,7 @@ do { \
>
> #define MAXSCREENSFREE(o) \
> do { \
> - if (o) free(o); \
> + free(o); \
> o = NULL; \
> } while (0)
>
> diff --git a/hw/dmx/dmxinit.c b/hw/dmx/dmxinit.c
> index 8a03c65..7cd50da 100644
> --- a/hw/dmx/dmxinit.c
> +++ b/hw/dmx/dmxinit.c
> @@ -606,8 +606,8 @@ void InitOutput(ScreenInfo *pScreenInfo, int argc, char *argv[])
> dmxScreens[i].stat = NULL;
> }
> for (i = 0; i < dmxNumInputs; i++) dmxInputFree(&dmxInputs[i]);
> - if (dmxScreens) free(dmxScreens);
> - if (dmxInputs) free(dmxInputs);
> + free(dmxScreens);
> + free(dmxInputs);
> dmxScreens = NULL;
> dmxInputs = NULL;
> dmxNumScreens = 0;
> diff --git a/hw/dmx/dmxstat.c b/hw/dmx/dmxstat.c
> index 41b0eb2..c3f1d3b 100644
> --- a/hw/dmx/dmxstat.c
> +++ b/hw/dmx/dmxstat.c
> @@ -122,7 +122,7 @@ DMXStatInfo *dmxStatAlloc(void)
> /** Free the memory used by a \a DMXStatInfo structure. */
> void dmxStatFree(DMXStatInfo *pt)
> {
> - if (pt) free(pt);
> + free(pt);
> }
>
> static void dmxStatValue(DMXStatAvg *data, unsigned long value)
> diff --git a/hw/dmx/glxProxy/glxutil.c b/hw/dmx/glxProxy/glxutil.c
> index cfd0269..18fd43a 100644
> --- a/hw/dmx/glxProxy/glxutil.c
> +++ b/hw/dmx/glxProxy/glxutil.c
> @@ -105,7 +105,5 @@ __glXRealloc(void *addr, size_t newSize)
> void
> __glXFree(void *addr)
> {
> - if (addr) {
> - free(addr);
> - }
> + free(addr);
> }
> diff --git a/hw/dmx/glxProxy/glxvisuals.c b/hw/dmx/glxProxy/glxvisuals.c
> index 58151b7..4c64db2 100644
> --- a/hw/dmx/glxProxy/glxvisuals.c
> +++ b/hw/dmx/glxProxy/glxvisuals.c
> @@ -531,8 +531,7 @@ Bool glxInitVisuals(int *nvisualp, VisualPtr *visualp,
> __glXFree(pNewVisualConfigs);
>
> /* Free the private list created by DDX HW driver */
> - if (visualPrivates)
> - free(visualPrivates);
> + free(visualPrivates);
> visualPrivates = NULL;
>
> return TRUE;
> diff --git a/hw/dmx/input/dmxbackend.c b/hw/dmx/input/dmxbackend.c
> index 55615cf..e917a5c 100644
> --- a/hw/dmx/input/dmxbackend.c
> +++ b/hw/dmx/input/dmxbackend.c
> @@ -114,7 +114,7 @@ pointer dmxBackendCreatePrivate(DeviceIntPtr pDevice)
> * #dmxBackendCreatePrivate. */
> void dmxBackendDestroyPrivate(pointer private)
> {
> - if (private) free(private);
> + free(private);
> }
>
> static void *dmxBackendTestScreen(DMXScreenInfo *dmxScreen, void *closure)
> diff --git a/hw/dmx/input/dmxconsole.c b/hw/dmx/input/dmxconsole.c
> index 80df064..7ec209d 100644
> --- a/hw/dmx/input/dmxconsole.c
> +++ b/hw/dmx/input/dmxconsole.c
> @@ -148,7 +148,7 @@ pointer dmxConsoleCreatePrivate(DeviceIntPtr pDevice)
> /** If \a private is non-NULL, free its associated memory. */
> void dmxConsoleDestroyPrivate(pointer private)
> {
> - if (private) free(private);
> + free(private);
> }
>
> static void dmxConsoleDrawFineCursor(myPrivate *priv, XRectangle *rect)
> diff --git a/hw/dmx/input/dmxinputinit.c b/hw/dmx/input/dmxinputinit.c
> index 020e21a..83a2abb 100644
> --- a/hw/dmx/input/dmxinputinit.c
> +++ b/hw/dmx/input/dmxinputinit.c
> @@ -1084,9 +1084,9 @@ static void dmxInputFreeLocal(DMXLocalInputInfoRec *local)
> if (local->isCore && local->type == DMX_LOCAL_KEYBOARD)
> dmxLocalCoreKeyboard = NULL;
> if (local->destroy_private) local->destroy_private(local->private);
> - if (local->history) free(local->history);
> - if (local->valuators) free(local->valuators);
> - if (local->deviceName) free(local->deviceName);
> + free(local->history);
> + free(local->valuators);
> + free(local->deviceName);
> local->private = NULL;
> local->history = NULL;
> local->deviceName = NULL;
> @@ -1100,9 +1100,9 @@ void dmxInputFree(DMXInputInfo *dmxInput)
>
> if (!dmxInput) return;
>
> - if (dmxInput->keycodes) free(dmxInput->keycodes);
> - if (dmxInput->symbols) free(dmxInput->symbols);
> - if (dmxInput->geometry) free(dmxInput->geometry);
> + free(dmxInput->keycodes);
> + free(dmxInput->symbols);
> + free(dmxInput->geometry);
>
> for (i = 0; i < dmxInput->numDevs; i++) {
> dmxInputFreeLocal(dmxInput->devs[i]);
> diff --git a/hw/dmx/input/lnx-keyboard.c b/hw/dmx/input/lnx-keyboard.c
> index 050c80e..5bfb881 100644
> --- a/hw/dmx/input/lnx-keyboard.c
> +++ b/hw/dmx/input/lnx-keyboard.c
> @@ -368,7 +368,7 @@ pointer kbdLinuxCreatePrivate(DeviceIntPtr pKeyboard)
> /** Destroy a private structure. */
> void kbdLinuxDestroyPrivate(pointer priv)
> {
> - if (priv) free(priv);
> + free(priv);
> }
>
> /** Ring the bell.
> diff --git a/hw/dmx/input/lnx-ms.c b/hw/dmx/input/lnx-ms.c
> index 549df46..ee18707 100644
> --- a/hw/dmx/input/lnx-ms.c
> +++ b/hw/dmx/input/lnx-ms.c
> @@ -301,7 +301,7 @@ pointer msLinuxCreatePrivate(DeviceIntPtr pMouse)
> /** Destroy a private structure. */
> void msLinuxDestroyPrivate(pointer priv)
> {
> - if (priv) free(priv);
> + free(priv);
> }
>
> /** Fill the \a info structure with information needed to initialize \a
> diff --git a/hw/dmx/input/lnx-ps2.c b/hw/dmx/input/lnx-ps2.c
> index 70918ee..3a220cf 100644
> --- a/hw/dmx/input/lnx-ps2.c
> +++ b/hw/dmx/input/lnx-ps2.c
> @@ -269,7 +269,7 @@ pointer ps2LinuxCreatePrivate(DeviceIntPtr pMouse)
> /** Destroy a private structure. */
> void ps2LinuxDestroyPrivate(pointer priv)
> {
> - if (priv) free(priv);
> + free(priv);
> }
>
> /** Fill the \a info structure with information needed to initialize \a
> diff --git a/hw/dmx/input/usb-common.c b/hw/dmx/input/usb-common.c
> index 95c00b8..25479ae 100644
> --- a/hw/dmx/input/usb-common.c
> +++ b/hw/dmx/input/usb-common.c
> @@ -377,5 +377,5 @@ pointer usbCreatePrivate(DeviceIntPtr pDevice)
> /** Destroy a private structure. */
> void usbDestroyPrivate(pointer priv)
> {
> - if (priv) free(priv);
> + free(priv);
> }
> diff --git a/hw/kdrive/fake/fake.c b/hw/kdrive/fake/fake.c
> index 1cf0f2e..b8306db 100644
> --- a/hw/kdrive/fake/fake.c
> +++ b/hw/kdrive/fake/fake.c
> @@ -168,8 +168,7 @@ fakeMapFramebuffer (KdScreenInfo *screen)
> KdSetPointerMatrix (&m);
>
> priv->bytes_per_line = ((screen->width * screen->fb.bitsPerPixel + 31) >> 5) << 2;
> - if (priv->base)
> - free (priv->base);
> + free(priv->base);
> priv->base = malloc (priv->bytes_per_line * screen->height);
>
> if (scrpriv->shadow)
> diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
> index 5b236af..167bc78 100644
> --- a/hw/xfree86/common/xf86AutoConfig.c
> +++ b/hw/xfree86/common/xf86AutoConfig.c
> @@ -120,8 +120,7 @@ FreeList(const char ***list, int *lines)
> int i;
>
> for (i = 0; i < *lines; i++) {
> - if ((*list)[i])
> - free((*list)[i]);
> + free((*list)[i]);
> }
> free(*list);
> *list = NULL;
> diff --git a/hw/xfree86/common/xf86Cursor.c b/hw/xfree86/common/xf86Cursor.c
> index f6c5633..0d27fd5 100644
> --- a/hw/xfree86/common/xf86Cursor.c
> +++ b/hw/xfree86/common/xf86Cursor.c
> @@ -848,10 +848,10 @@ xf86ReconfigureLayout(void)
> for (i = 0; i < MAXSCREENS; i++) {
> xf86ScreenLayoutPtr sl = &xf86ScreenLayout[i];
> /* we don't have to zero these, xf86InitOrigins() takes care of that */
> - if (sl->left) free(sl->left);
> - if (sl->right) free(sl->right);
> - if (sl->up) free(sl->up);
> - if (sl->down) free(sl->down);
> + free(sl->left);
> + free(sl->right);
> + free(sl->up);
> + free(sl->down);
> }
>
> xf86InitOrigins();
> diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
> index ac1f283..394fb06 100644
> --- a/hw/xfree86/common/xf86Helper.c
> +++ b/hw/xfree86/common/xf86Helper.c
> @@ -234,8 +234,7 @@ xf86DeleteScreen(int scrnIndex, int flags)
> if (pScrn->drv)
> pScrn->drv->refCount--;
>
> - if (pScrn->privates)
> - free(pScrn->privates);
> + free(pScrn->privates);
>
> xf86ClearEntityListForScreen(scrnIndex);
>
> @@ -327,8 +326,7 @@ xf86DeleteInput(InputInfoPtr pInp, int flags)
> /* This should *really* be handled in drv->UnInit(dev) call instead, but
> * if the driver forgets about it make sure we free it or at least crash
> * with flying colors */
> - if (pInp->private)
> - free(pInp->private);
> + free(pInp->private);
>
> FreeInputAttributes(pInp->attrs);
>
> @@ -2017,8 +2015,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
> */
> pNewProp->next = NULL;
> } else {
> - if (pNewProp->name)
> - free(pNewProp->name);
> + free(pNewProp->name);
> existing = TRUE;
> }
>
> diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
> index e12b7d9..d4afd16 100644
> --- a/hw/xfree86/common/xf86Xinput.c
> +++ b/hw/xfree86/common/xf86Xinput.c
> @@ -844,10 +844,8 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs,
> unwind:
> if (is_auto && !xf86Info.autoAddDevices)
> xf86Msg(X_INFO, "AutoAddDevices is off - not adding device.\n");
> - if(idev->driver)
> - free(idev->driver);
> - if(idev->identifier)
> - free(idev->identifier);
> + free(idev->driver);
> + free(idev->identifier);
> xf86optionListFree(idev->commonOptions);
> free(idev);
> return rval;
> diff --git a/hw/xfree86/common/xf86cmap.c b/hw/xfree86/common/xf86cmap.c
> index f26c22c..d2a8f12 100644
> --- a/hw/xfree86/common/xf86cmap.c
> +++ b/hw/xfree86/common/xf86cmap.c
> @@ -327,7 +327,7 @@ CMapDestroyColormap (ColormapPtr cmap)
> CMapLinkPtr prevLink = NULL, pLink = pScreenPriv->maps;
>
> if(pColPriv) {
> - if(pColPriv->colors) free(pColPriv->colors);
> + free(pColPriv->colors);
> free(pColPriv);
> }
>
> diff --git a/hw/xfree86/common/xf86sbusBus.c b/hw/xfree86/common/xf86sbusBus.c
> index ea8c3e1..30a4202 100644
> --- a/hw/xfree86/common/xf86sbusBus.c
> +++ b/hw/xfree86/common/xf86sbusBus.c
> @@ -478,8 +478,7 @@ xf86MatchSbusInstances(const char *driverName, int sbusDevId,
> instances[i].claimed = TRUE;
> instances[i].dev = dev;
> }
> - if (promPath)
> - free(promPath);
> + free(promPath);
> }
>
> DebugF("%s instances found: %d\n", driverName, numClaimedInstances);
> diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c
> index b02fdaf..3631369 100644
> --- a/hw/xfree86/dixmods/extmod/xf86vmode.c
> +++ b/hw/xfree86/dixmods/extmod/xf86vmode.c
> @@ -1102,8 +1102,7 @@ ProcXF86VidModeValidateModeLine(ClientPtr client)
> status = VidModeCheckModeForDriver(stuff->screen, modetmp);
>
> status_reply:
> - if(modetmp)
> - free(modetmp);
> + free(modetmp);
>
> rep.type = X_Reply;
> rep.length = bytes_to_int32(SIZEOF(xXF86VidModeValidateModeLineReply)
> diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
> index db4cd7b..61bbe9a 100644
> --- a/hw/xfree86/dri/dri.c
> +++ b/hw/xfree86/dri/dri.c
> @@ -578,10 +578,8 @@ DRIScreenInit(ScreenPtr pScreen, DRIInfoPtr pDRIInfo, int *pDRMFD)
> drmInstallSIGIOHandler(pDRIPriv->drmFD, DRISwapContext))) {
> DRIDrvMsg(pScreen->myNum, X_ERROR,
> "[drm] failed to setup DRM signal handler\n");
> - if (pDRIPriv->hiddenContextStore)
> - free(pDRIPriv->hiddenContextStore);
> - if (pDRIPriv->partial3DContextStore)
> - free(pDRIPriv->partial3DContextStore);
> + free(pDRIPriv->hiddenContextStore);
> + free(pDRIPriv->partial3DContextStore);
> DRIDestroyContextPriv(pDRIContextPriv);
> return FALSE;
> } else {
> @@ -1618,7 +1616,7 @@ DRICreateInfoRec(void)
> void
> DRIDestroyInfoRec(DRIInfoPtr DRIInfo)
> {
> - if (DRIInfo->busIdString) free(DRIInfo->busIdString);
> + free(DRIInfo->busIdString);
> free((char*)DRIInfo);
> }
>
> diff --git a/hw/xfree86/loader/loadext.c b/hw/xfree86/loader/loadext.c
> index 39a92c8..8ac50a6 100644
> --- a/hw/xfree86/loader/loadext.c
> +++ b/hw/xfree86/loader/loadext.c
> @@ -378,10 +378,8 @@ tsort(void)
> if (n == NULL)
> ErrorF("tsort: internal error -- could not find cycle");
> }
> - if (cycle_buf)
> - free(cycle_buf);
> - if (longest_cycle)
> - free(longest_cycle);
> + free(cycle_buf);
> + free(longest_cycle);
> if (graph)
> free_nodes(graph);
> }
> diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
> index bff867c..ae74164 100644
> --- a/hw/xfree86/loader/loadmod.c
> +++ b/hw/xfree86/loader/loadmod.c
> @@ -315,16 +315,14 @@ InitSubdirs(const char **subdirlist)
> if (**s == '/' || **s == '\\' || strchr(*s, ':') ||
> strstr(*s, "..")) {
> xf86Msg(X_ERROR, "InitSubdirs: Bad subdir: \"%s\"\n", *s);
> - if (tmp_subdirlist)
> - free(tmp_subdirlist);
> + free(tmp_subdirlist);
> return NULL;
> }
> }
> }
> subdirs = malloc((i * 2 + 1) * sizeof(char *));
> if (!subdirs) {
> - if (tmp_subdirlist)
> - free(tmp_subdirlist);
> + free(tmp_subdirlist);
> return NULL;
> }
> i = 0;
> @@ -348,8 +346,7 @@ InitSubdirs(const char **subdirlist)
> while (--i >= 0)
> free(subdirs[i]);
> free(subdirs);
> - if (tmp_subdirlist)
> - free(tmp_subdirlist);
> + free(tmp_subdirlist);
> return NULL;
> }
> /* tack on the OS name */
> @@ -367,8 +364,7 @@ InitSubdirs(const char **subdirlist)
> }
> subdirs[i] = NULL;
> }
> - if (tmp_subdirlist)
> - free(tmp_subdirlist);
> + free(tmp_subdirlist);
> return (const char **)subdirs;
> }
>
> diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
> index 60003d5..304d503 100644
> --- a/hw/xfree86/modes/xf86Crtc.c
> +++ b/hw/xfree86/modes/xf86Crtc.c
> @@ -157,8 +157,7 @@ xf86CrtcDestroy (xf86CrtcPtr crtc)
> xf86_config->num_crtc--;
> break;
> }
> - if (crtc->params)
> - free(crtc->params);
> + free(crtc->params);
> free(crtc->gamma_red);
> free(crtc);
> }
> @@ -382,8 +381,7 @@ done:
> crtc->transformPresent = saved_transform_present;
> }
>
> - if (adjusted_mode->name)
> - free(adjusted_mode->name);
> + free(adjusted_mode->name);
> free(adjusted_mode);
>
> if (didLock)
> @@ -482,8 +480,7 @@ xf86OutputSetMonitor (xf86OutputPtr output)
> if (!output->name)
> return;
>
> - if (output->options)
> - free(output->options);
> + free(output->options);
>
> output->options = xnfalloc (sizeof (xf86OutputOptions));
> memcpy (output->options, xf86OutputOptions, sizeof (xf86OutputOptions));
> diff --git a/hw/xfree86/modes/xf86DiDGA.c b/hw/xfree86/modes/xf86DiDGA.c
> index a4cf4f0..ca419ec 100644
> --- a/hw/xfree86/modes/xf86DiDGA.c
> +++ b/hw/xfree86/modes/xf86DiDGA.c
> @@ -103,8 +103,7 @@ xf86_dga_get_modes (ScreenPtr pScreen)
> if (display_mode == scrn->modes)
> break;
> }
> - if (xf86_config->dga_modes)
> - free(xf86_config->dga_modes);
> + free(xf86_config->dga_modes);
> xf86_config->dga_nmode = num;
> xf86_config->dga_modes = modes;
> return TRUE;
> diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
> index 4cc99ad..fdc38c5 100644
> --- a/hw/xfree86/modes/xf86Rotate.c
> +++ b/hw/xfree86/modes/xf86Rotate.c
> @@ -405,8 +405,7 @@ xf86CrtcRotate (xf86CrtcPtr crtc)
> */
> xf86RotateDestroy (crtc);
> crtc->transform_in_use = FALSE;
> - if (new_params)
> - free(new_params);
> + free(new_params);
> new_params = NULL;
> new_nparams = 0;
> new_filter = NULL;
> @@ -506,8 +505,7 @@ xf86CrtcRotate (xf86CrtcPtr crtc)
> crtc->crtc_to_framebuffer = crtc_to_fb;
> crtc->f_crtc_to_framebuffer = f_crtc_to_fb;
> crtc->f_framebuffer_to_crtc = f_fb_to_crtc;
> - if (crtc->params)
> - free(crtc->params);
> + free(crtc->params);
> crtc->params = new_params;
> crtc->nparams = new_nparams;
> crtc->filter = new_filter;
> diff --git a/hw/xfree86/parser/Flags.c b/hw/xfree86/parser/Flags.c
> index 699f15c..f4fea28 100644
> --- a/hw/xfree86/parser/Flags.c
> +++ b/hw/xfree86/parser/Flags.c
> @@ -451,8 +451,7 @@ xf86parseOption(XF86OptionPtr head)
>
> if ((token = xf86getSubToken(&comment)) != STRING) {
> xf86parseError(BAD_OPTION_MSG, NULL);
> - if (comment)
> - free(comment);
> + free(comment);
> return (head);
> }
>
> diff --git a/hw/xfree86/parser/scan.c b/hw/xfree86/parser/scan.c
> index 52e80a9..05fbc89 100644
> --- a/hw/xfree86/parser/scan.c
> +++ b/hw/xfree86/parser/scan.c
> @@ -923,8 +923,7 @@ OpenConfigDir(const char *path, const char *cmdline, const char *projroot,
> if (!found) {
> free(dirpath);
> dirpath = NULL;
> - if (list)
> - free(list);
> + free(list);
> }
> }
>
> @@ -1088,8 +1087,7 @@ xf86validationError (char *format,...)
> void
> xf86setSection (char *section)
> {
> - if (configSection)
> - free(configSection);
> + free(configSection);
> configSection = malloc(strlen (section) + 1);
> strcpy (configSection, section);
> }
> diff --git a/hw/xfree86/ramdac/xf86RamDac.c b/hw/xfree86/ramdac/xf86RamDac.c
> index 0015b76..f4d1274 100644
> --- a/hw/xfree86/ramdac/xf86RamDac.c
> +++ b/hw/xfree86/ramdac/xf86RamDac.c
> @@ -132,12 +132,10 @@ RamDacFreeRec(ScrnInfoPtr pScrn)
> ramdacScrPtr = ((RamDacScreenRecPtr)
> (pScrn)->privates[RamDacGetScreenIndex()].ptr);
>
> - if (ramdacHWPtr)
> - free(ramdacHWPtr);
> + free(ramdacHWPtr);
> ramdacHWPtr = NULL;
>
> - if (ramdacScrPtr)
> - free(ramdacScrPtr);
> + free(ramdacScrPtr);
> ramdacScrPtr = NULL;
> }
>
> diff --git a/hw/xfree86/vgahw/vgaHW.c b/hw/xfree86/vgahw/vgaHW.c
> index 3ae2dfa..b6832c3 100644
> --- a/hw/xfree86/vgahw/vgaHW.c
> +++ b/hw/xfree86/vgahw/vgaHW.c
> @@ -1479,8 +1479,7 @@ vgaHWGetHWRecPrivate(void)
> static void
> vgaHWFreeRegs(vgaRegPtr regp)
> {
> - if (regp->CRTC)
> - free(regp->CRTC);
> + free(regp->CRTC);
>
> regp->CRTC =
> regp->Sequencer =
> diff --git a/hw/xfree86/xaa/xaaCpyArea.c b/hw/xfree86/xaa/xaaCpyArea.c
> index 443a0e1..bcf81ee 100644
> --- a/hw/xfree86/xaa/xaaCpyArea.c
> +++ b/hw/xfree86/xaa/xaaCpyArea.c
> @@ -148,8 +148,8 @@ XAADoBitBlt(
> pboxNew2 = (BoxPtr)malloc(sizeof(BoxRec) * nbox);
> pptNew2 = (DDXPointPtr)malloc(sizeof(DDXPointRec) * nbox);
> if(!pboxNew2 || !pptNew2) {
> - if (pptNew2) free(pptNew2);
> - if (pboxNew2) free(pboxNew2);
> + free(pptNew2);
> + free(pboxNew2);
> if (pboxNew1) {
> free(pptNew1);
> free(pboxNew1);
> diff --git a/hw/xfree86/xaa/xaaGC.c b/hw/xfree86/xaa/xaaGC.c
> index 8c9d0ed..fbef88d 100644
> --- a/hw/xfree86/xaa/xaaGC.c
> +++ b/hw/xfree86/xaa/xaaGC.c
> @@ -243,8 +243,7 @@ XAADestroyGC(GCPtr pGC)
> if(pGCPriv->XAAOps != &XAAFallbackOps)
> free(pGCPriv->XAAOps);
>
> - if(pGCPriv->DashPattern)
> - free(pGCPriv->DashPattern);
> + free(pGCPriv->DashPattern);
>
> (*pGC->funcs->DestroyGC)(pGC);
> XAA_GC_FUNC_EPILOGUE (pGC);
> diff --git a/hw/xfree86/xaa/xaaInit.c b/hw/xfree86/xaa/xaaInit.c
> index d0a66b8..ec55632 100644
> --- a/hw/xfree86/xaa/xaaInit.c
> +++ b/hw/xfree86/xaa/xaaInit.c
> @@ -84,11 +84,9 @@ XAADestroyInfoRec(XAAInfoRecPtr infoRec)
> if(infoRec->ClosePixmapCache)
> (*infoRec->ClosePixmapCache)(infoRec->pScrn->pScreen);
>
> - if(infoRec->PreAllocMem)
> - free(infoRec->PreAllocMem);
> + free(infoRec->PreAllocMem);
>
> - if(infoRec->PixmapCachePrivate)
> - free(infoRec->PixmapCachePrivate);
> + free(infoRec->PixmapCachePrivate);
>
> free(infoRec);
> }
> diff --git a/hw/xfree86/xaa/xaaLineMisc.c b/hw/xfree86/xaa/xaaLineMisc.c
> index e017c22..ed3cd48 100644
> --- a/hw/xfree86/xaa/xaaLineMisc.c
> +++ b/hw/xfree86/xaa/xaaLineMisc.c
> @@ -74,8 +74,7 @@ XAAComputeDash(GCPtr pGC)
> int shift, value, direction;
> Bool set;
>
> - if(pGCPriv->DashPattern)
> - free(pGCPriv->DashPattern);
> + free(pGCPriv->DashPattern);
>
> pGCPriv->DashPattern = NULL;
> pGCPriv->DashLength = 0;
> diff --git a/hw/xfree86/xaa/xaaPCache.c b/hw/xfree86/xaa/xaaPCache.c
> index f7f6a29..86ac1cd 100644
> --- a/hw/xfree86/xaa/xaaPCache.c
> +++ b/hw/xfree86/xaa/xaaPCache.c
> @@ -144,18 +144,12 @@ FreePixmapCachePrivate(XAAPixmapCachePrivatePtr pPriv)
> {
> if(!pPriv) return;
>
> - if(pPriv->Info512)
> - free(pPriv->Info512);
> - if(pPriv->Info256)
> - free(pPriv->Info256);
> - if(pPriv->Info128)
> - free(pPriv->Info128);
> - if(pPriv->InfoColor)
> - free(pPriv->InfoColor);
> - if(pPriv->InfoMono)
> - free(pPriv->InfoMono);
> - if(pPriv->InfoPartial)
> - free(pPriv->InfoPartial);
> + free(pPriv->Info512);
> + free(pPriv->Info256);
> + free(pPriv->Info128);
> + free(pPriv->InfoColor);
> + free(pPriv->InfoMono);
> + free(pPriv->InfoPartial);
>
> free(pPriv);
> }
> diff --git a/hw/xfree86/xaa/xaaTEText.c b/hw/xfree86/xaa/xaaTEText.c
> index 729e8a8..41c0ebc 100644
> --- a/hw/xfree86/xaa/xaaTEText.c
> +++ b/hw/xfree86/xaa/xaaTEText.c
> @@ -299,8 +299,7 @@ XAAGlyphBltTEColorExpansion(
> skippix, ytop - Top, glyphs + skipglyphs, glyphWidth,
> fg, bg, rop, planemask);
>
> - if (fallbackBits)
> - free(fallbackBits);
> + free(fallbackBits);
> }
>
> nbox--; pbox++;
> diff --git a/hw/xnest/Color.c b/hw/xnest/Color.c
> index 3b60cc9..883b77c 100644
> --- a/hw/xnest/Color.c
> +++ b/hw/xnest/Color.c
> @@ -214,8 +214,7 @@ xnestSetInstalledColormapWindows(ScreenPtr pScreen)
> free(icws.cmapIDs);
>
> if (!xnestSameInstalledColormapWindows(icws.windows, icws.numWindows)) {
> - if (xnestOldInstalledColormapWindows)
> - free(xnestOldInstalledColormapWindows);
> + free(xnestOldInstalledColormapWindows);
>
> #ifdef _XSERVER64
> {
> @@ -264,14 +263,13 @@ xnestSetInstalledColormapWindows(ScreenPtr pScreen)
> #endif /* DUMB_WINDOW_MANAGERS */
> }
> else
> - if (icws.windows) free(icws.windows);
> + free(icws.windows);
> }
>
> void
> xnestSetScreenSaverColormapWindow(ScreenPtr pScreen)
> {
> - if (xnestOldInstalledColormapWindows)
> - free(xnestOldInstalledColormapWindows);
> + free(xnestOldInstalledColormapWindows);
>
> #ifdef _XSERVER64
> {
> diff --git a/hw/xwin/winclipboardxevents.c b/hw/xwin/winclipboardxevents.c
> index ae8262e..edb6ac4 100644
> --- a/hw/xwin/winclipboardxevents.c
> +++ b/hw/xwin/winclipboardxevents.c
> @@ -411,8 +411,7 @@ winClipboardFlushXEvents (HWND hwnd,
> xtpText.value = NULL;
> xtpText.nitems = 0;
> }
> - if (pszConvertData)
> - free (pszConvertData);
> + free(pszConvertData);
> if (hGlobal && pszGlobalData)
> GlobalUnlock (hGlobal);
>
> @@ -773,10 +772,8 @@ winClipboardFlushXEvents (HWND hwnd,
> xtpText.value = NULL;
> xtpText.nitems = 0;
> }
> - if (pszConvertData)
> - free (pszConvertData);
> - if (pwszUnicodeStr)
> - free (pwszUnicodeStr);
> + free(pszConvertData);
> + free(pwszUnicodeStr);
> if (hGlobal && pszGlobalData)
> GlobalUnlock (hGlobal);
> if (fSetClipboardData && g_fUnicodeSupport)
> diff --git a/hw/xwin/winerror.c b/hw/xwin/winerror.c
> index 2ff65bc..cb69c57 100644
> --- a/hw/xwin/winerror.c
> +++ b/hw/xwin/winerror.c
> @@ -144,9 +144,7 @@ winMessageBoxF (const char *pszError, UINT uType, ...)
> MB_OK | uType);
>
> winMessageBoxF_Cleanup:
> - if (pszErrorF)
> - free(pszErrorF);
> - if (pszMsgBox)
> - free(pszMsgBox);
> + free(pszErrorF);
> + free(pszMsgBox);
> #undef MESSAGEBOXF
> }
> diff --git a/hw/xwin/winprefs.c b/hw/xwin/winprefs.c
> index 93901ca..1996ef0 100644
> --- a/hw/xwin/winprefs.c
> +++ b/hw/xwin/winprefs.c
> @@ -672,8 +672,7 @@ winOverrideIcon (unsigned long longWin)
> {
> free (res_name);
> free (res_class);
> - if (wmName)
> - free (wmName);
> + free(wmName);
>
> if (pref.icon[i].hicon)
> return pref.icon[i].hicon;
> @@ -691,8 +690,7 @@ winOverrideIcon (unsigned long longWin)
> /* Didn't find the icon, fail gracefully */
> free (res_name);
> free (res_class);
> - if (wmName)
> - free (wmName);
> + free(wmName);
>
> return 0;
> }
> @@ -849,8 +847,7 @@ winOverrideStyle (unsigned long longpWin)
> {
> free (res_name);
> free (res_class);
> - if (wmName)
> - free (wmName);
> + free(wmName);
>
> if (pref.style[i].type)
> return pref.style[i].type;
> @@ -860,8 +857,7 @@ winOverrideStyle (unsigned long longpWin)
> /* Didn't find the style, fail gracefully */
> free (res_name);
> free (res_class);
> - if (wmName)
> - free (wmName);
> + free(wmName);
>
> return STYLE_NONE;
> }
> diff --git a/mi/miarc.c b/mi/miarc.c
> index 5143d2a..db21165 100644
> --- a/mi/miarc.c
> +++ b/mi/miarc.c
> @@ -3081,10 +3081,8 @@ fillSpans (
> (*pGC->ops->FillSpans) (pDrawable, pGC, i, xSpans, xWidths, TRUE);
> }
> disposeFinalSpans ();
> - if (xSpans)
> - free(xSpans);
> - if (xWidths)
> - free(xWidths);
> + free(xSpans);
> + free(xWidths);
> finalMiny = 0;
> finalMaxy = -1;
> finalSize = 0;
> diff --git a/mi/mibitblt.c b/mi/mibitblt.c
> index 8448483..98857e8 100644
> --- a/mi/mibitblt.c
> +++ b/mi/mibitblt.c
> @@ -150,12 +150,9 @@ miCopyArea(DrawablePtr pSrcDrawable,
> ordering = malloc(numRects * sizeof(unsigned int));
> if(!pptFirst || !pwidthFirst || !ordering)
> {
> - if (ordering)
> - free(ordering);
> - if (pwidthFirst)
> - free(pwidthFirst);
> - if (pptFirst)
> - free(pptFirst);
> + free(ordering);
> + free(pwidthFirst);
> + free(pptFirst);
> return NULL;
> }
>
> @@ -433,8 +430,8 @@ miOpqStipDrawable(DrawablePtr pDraw, GCPtr pGC, RegionPtr prgnSrc,
> pwidth = pwidthFirst = malloc(h * sizeof(int));
> if(!pptFirst || !pwidthFirst)
> {
> - if (pwidthFirst) free(pwidthFirst);
> - if (pptFirst) free(pptFirst);
> + free(pwidthFirst);
> + free(pptFirst);
> FreeScratchGC(pGCT);
> return;
> }
> @@ -801,10 +798,8 @@ miPutImage( DrawablePtr pDraw, GCPtr pGC, int depth,
> pwidth = pwidthFirst = malloc(h * sizeof(int));
> if(!pptFirst || !pwidthFirst)
> {
> - if (pwidthFirst)
> - free(pwidthFirst);
> - if (pptFirst)
> - free(pptFirst);
> + free(pwidthFirst);
> + free(pptFirst);
> return;
> }
> if (pGC->miTranslate)
> diff --git a/mi/micopy.c b/mi/micopy.c
> index b1a7a08..027c461 100644
> --- a/mi/micopy.c
> +++ b/mi/micopy.c
> @@ -108,8 +108,7 @@ miCopyRegion (DrawablePtr pSrcDrawable,
> pboxNew2 = (BoxPtr)malloc(sizeof(BoxRec) * nbox);
> if(!pboxNew2)
> {
> - if (pboxNew1)
> - free(pboxNew1);
> + free(pboxNew1);
> return;
> }
> pboxBase = pboxNext = pbox;
> @@ -143,10 +142,8 @@ miCopyRegion (DrawablePtr pSrcDrawable,
> dx, dy,
> reverse, upsidedown, bitPlane, closure);
>
> - if (pboxNew1)
> - free(pboxNew1);
> - if (pboxNew2)
> - free(pboxNew2);
> + free(pboxNew1);
> + free(pboxNew2);
> }
>
> RegionPtr
> diff --git a/mi/mifillrct.c b/mi/mifillrct.c
> index e2bd7c9..1c63a35 100644
> --- a/mi/mifillrct.c
> +++ b/mi/mifillrct.c
> @@ -111,8 +111,8 @@ miPolyFillRect(
> pwFirst = malloc(maxheight * sizeof(int));
> if(!pptFirst || !pwFirst)
> {
> - if (pwFirst) free(pwFirst);
> - if (pptFirst) free(pptFirst);
> + free(pwFirst);
> + free(pptFirst);
> return;
> }
>
> diff --git a/mi/mifpolycon.c b/mi/mifpolycon.c
> index 13b5a48..1be0150 100644
> --- a/mi/mifpolycon.c
> +++ b/mi/mifpolycon.c
> @@ -122,9 +122,9 @@ miFillSppPoly(
>
> if(!ptsOut || !width || !Marked)
> {
> - if (Marked) free(Marked);
> - if (width) free(width);
> - if (ptsOut) free(ptsOut);
> + free(Marked);
> + free(width);
> + free(ptsOut);
> return;
> }
>
> diff --git a/mi/mipolycon.c b/mi/mipolycon.c
> index 40671df..2404c56 100644
> --- a/mi/mipolycon.c
> +++ b/mi/mipolycon.c
> @@ -109,8 +109,8 @@ miFillConvexPoly(
> width = FirstWidth = malloc(sizeof(int) * dy);
> if(!FirstPoint || !FirstWidth)
> {
> - if (FirstWidth) free(FirstWidth);
> - if (FirstPoint) free(FirstPoint);
> + free(FirstWidth);
> + free(FirstPoint);
> return(FALSE);
> }
>
> diff --git a/mi/mispans.c b/mi/mispans.c
> index 8ac66cc..9f56e3c 100644
> --- a/mi/mispans.c
> +++ b/mi/mispans.c
> @@ -410,10 +410,8 @@ void miFillUniqueSpanGroup(DrawablePtr pDraw, GCPtr pGC, SpanGroup *spanGroup)
>
> if (!yspans || !ysizes)
> {
> - if (yspans)
> - free(yspans);
> - if (ysizes)
> - free(ysizes);
> + free(yspans);
> + free(ysizes);
> miDisposeSpanGroup (spanGroup);
> return;
> }
> @@ -492,10 +490,8 @@ void miFillUniqueSpanGroup(DrawablePtr pDraw, GCPtr pGC, SpanGroup *spanGroup)
> }
> free(yspans);
> free(ysizes);
> - if (points)
> - free(points);
> - if (widths)
> - free(widths);
> + free(points);
> + free(widths);
> return;
> }
> count = 0;
> diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
> index 987f772..f5fe765 100644
> --- a/randr/rrcrtc.c
> +++ b/randr/rrcrtc.c
> @@ -190,8 +190,7 @@ RRCrtcNotify (RRCrtcPtr crtc,
> }
> else
> {
> - if (crtc->outputs)
> - free(crtc->outputs);
> + free(crtc->outputs);
> newoutputs = NULL;
> }
> crtc->outputs = newoutputs;
> @@ -440,8 +439,7 @@ RRCrtcDestroyResource (pointer value, XID pid)
> }
> }
> }
> - if (crtc->gammaRed)
> - free(crtc->gammaRed);
> + free(crtc->gammaRed);
> if (crtc->mode)
> RRModeDestroy (crtc->mode);
> free(crtc);
> @@ -563,8 +561,7 @@ RRCrtcGammaSetSize (RRCrtcPtr crtc,
> }
> else
> gamma = NULL;
> - if (crtc->gammaRed)
> - free(crtc->gammaRed);
> + free(crtc->gammaRed);
> crtc->gammaRed = gamma;
> crtc->gammaGreen = gamma + size;
> crtc->gammaBlue = gamma + size*2;
> @@ -805,8 +802,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
> RROutputType, client, DixSetAttrAccess);
> if (rc != Success)
> {
> - if (outputs)
> - free(outputs);
> + free(outputs);
> return rc;
> }
> /* validate crtc for this output */
> @@ -815,8 +811,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
> break;
> if (j == outputs[i]->numCrtcs)
> {
> - if (outputs)
> - free(outputs);
> + free(outputs);
> return BadMatch;
> }
> /* validate mode for this output */
> @@ -830,8 +825,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
> }
> if (j == outputs[i]->numModes + outputs[i]->numUserModes)
> {
> - if (outputs)
> - free(outputs);
> + free(outputs);
> return BadMatch;
> }
> }
> @@ -850,8 +844,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
> }
> if (k == outputs[i]->numClones)
> {
> - if (outputs)
> - free(outputs);
> + free(outputs);
> return BadMatch;
> }
> }
> @@ -900,8 +893,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
> * Invalid rotation
> */
> client->errorValue = stuff->rotation;
> - if (outputs)
> - free(outputs);
> + free(outputs);
> return BadValue;
> }
>
> @@ -913,8 +905,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
> * requested rotation or reflection not supported by screen
> */
> client->errorValue = stuff->rotation;
> - if (outputs)
> - free(outputs);
> + free(outputs);
> return BadMatch;
> }
>
> @@ -943,16 +934,14 @@ ProcRRSetCrtcConfig (ClientPtr client)
> if (stuff->x + source_width > pScreen->width)
> {
> client->errorValue = stuff->x;
> - if (outputs)
> - free(outputs);
> + free(outputs);
> return BadValue;
> }
>
> if (stuff->y + source_height > pScreen->height)
> {
> client->errorValue = stuff->y;
> - if (outputs)
> - free(outputs);
> + free(outputs);
> return BadValue;
> }
> }
> @@ -979,8 +968,7 @@ ProcRRSetCrtcConfig (ClientPtr client)
> pScrPriv->lastSetTime = time;
>
> sendReply:
> - if (outputs)
> - free(outputs);
> + free(outputs);
>
> rep.type = X_Reply;
> /* rep.status has already been filled in */
> diff --git a/randr/rroutput.c b/randr/rroutput.c
> index 7822c0d..937b14d 100644
> --- a/randr/rroutput.c
> +++ b/randr/rroutput.c
> @@ -134,8 +134,7 @@ RROutputSetClones (RROutputPtr output,
> }
> else
> newClones = NULL;
> - if (output->clones)
> - free(output->clones);
> + free(output->clones);
> memcpy (newClones, clones, numClones * sizeof (RROutputPtr));
> output->clones = newClones;
> output->numClones = numClones;
> @@ -280,8 +279,7 @@ RROutputSetCrtcs (RROutputPtr output,
> }
> else
> newCrtcs = NULL;
> - if (output->crtcs)
> - free(output->crtcs);
> + free(output->crtcs);
> memcpy (newCrtcs, crtcs, numCrtcs * sizeof (RRCrtcPtr));
> output->crtcs = newCrtcs;
> output->numCrtcs = numCrtcs;
> @@ -402,13 +400,10 @@ RROutputDestroyResource (pointer value, XID pid)
>
> for (m = 0; m < output->numUserModes; m++)
> RRModeDestroy (output->userModes[m]);
> - if (output->userModes)
> - free(output->userModes);
> + free(output->userModes);
>
> - if (output->crtcs)
> - free(output->crtcs);
> - if (output->clones)
> - free(output->clones);
> + free(output->crtcs);
> + free(output->clones);
> RRDeleteAllOutputProperties (output);
> free(output);
> return 1;
> diff --git a/randr/rrproperty.c b/randr/rrproperty.c
> index 5e37577..a4402e1 100644
> --- a/randr/rrproperty.c
> +++ b/randr/rrproperty.c
> @@ -69,10 +69,8 @@ RRDeleteAllOutputProperties (RROutputPtr output)
> event.atom = prop->propertyName;
> event.timestamp = currentTime.milliseconds;
> RRDeliverPropertyEvent (output->pScreen, (xEvent *)&event);
> - if (prop->current.data)
> - free(prop->current.data);
> - if (prop->pending.data)
> - free(prop->pending.data);
> + free(prop->current.data);
> + free(prop->pending.data);
> free(prop);
> }
> }
> @@ -109,14 +107,10 @@ RRCreateOutputProperty (Atom property)
> static void
> RRDestroyOutputProperty (RRPropertyPtr prop)
> {
> - if (prop->valid_values)
> - free(prop->valid_values);
> - if (prop->current.data)
> - free(prop->current.data);
> - if (prop->pending.data)
> - free(prop->pending.data);
> - if (prop->valid_values)
> - free(prop->valid_values);
> + free(prop->valid_values);
> + free(prop->current.data);
> + free(prop->pending.data);
> + free(prop->valid_values);
> free(prop);
> }
>
> @@ -232,12 +226,10 @@ RRChangeOutputProperty (RROutputPtr output, Atom property, Atom type,
> !pScrPriv->rrOutputSetProperty(output->pScreen, output,
> prop->propertyName, &new_value))
> {
> - if (new_value.data)
> - free(new_value.data);
> + free(new_value.data);
> return (BadValue);
> }
> - if (prop_value->data)
> - free(prop_value->data);
> + free(prop_value->data);
> *prop_value = new_value;
> }
>
> @@ -378,8 +370,7 @@ RRConfigureOutputProperty (RROutputPtr output, Atom property,
> */
> if (prop->is_pending && !pending)
> {
> - if (prop->pending.data)
> - free(prop->pending.data);
> + free(prop->pending.data);
> RRInitOutputPropertyValue (&prop->pending);
> }
>
> @@ -387,8 +378,7 @@ RRConfigureOutputProperty (RROutputPtr output, Atom property,
> prop->range = range;
> prop->immutable = immutable;
> prop->num_valid = num_values;
> - if (prop->valid_values)
> - free(prop->valid_values);
> + free(prop->valid_values);
> prop->valid_values = new_values;
>
> if (add) {
> diff --git a/randr/rrscreen.c b/randr/rrscreen.c
> index a2a0f36..f58e657 100644
> --- a/randr/rrscreen.c
> +++ b/randr/rrscreen.c
> @@ -951,8 +951,7 @@ ProcRRSetScreenConfig (ClientPtr client)
>
> sendReply:
>
> - if (pData)
> - free(pData);
> + free(pData);
>
> rep.type = X_Reply;
> /* rep.status has already been filled in */
> diff --git a/randr/rrtransform.c b/randr/rrtransform.c
> index 7fd4fa0..a470e1e 100644
> --- a/randr/rrtransform.c
> +++ b/randr/rrtransform.c
> @@ -37,8 +37,7 @@ RRTransformInit (RRTransformPtr transform)
> void
> RRTransformFini (RRTransformPtr transform)
> {
> - if (transform->params)
> - free(transform->params);
> + free(transform->params);
> }
>
> Bool
> @@ -82,8 +81,7 @@ RRTransformSetFilter (RRTransformPtr dst,
> }
> else
> new_params = NULL;
> - if (dst->params)
> - free(dst->params);
> + free(dst->params);
> dst->filter = filter;
> dst->params = new_params;
> dst->nparams = nparams;
> diff --git a/record/record.c b/record/record.c
> index 5bd46c2..53bdfec 100644
> --- a/record/record.c
> +++ b/record/record.c
> @@ -1868,8 +1868,7 @@ bailout:
> if (si)
> {
> for (i = 0; i < maxSets; i++)
> - if (si[i].intervals)
> - free(si[i].intervals);
> + free(si[i].intervals);
> free(si);
> }
> if (pCanonClients && pCanonClients != (XID *)&stuff[1])
> @@ -1955,8 +1954,7 @@ ProcRecordCreateContext(ClientPtr client)
> err = BadAlloc;
> }
> bailout:
> - if (pContext)
> - free(pContext);
> + free(pContext);
> return err;
> } /* ProcRecordCreateContext */
>
> @@ -2352,7 +2350,7 @@ ProcRecordGetContext(ClientPtr client)
> bailout:
> for (i = 0; i < nRCAPs; i++)
> {
> - if (pRangeInfo[i].pRanges) free(pRangeInfo[i].pRanges);
> + free(pRangeInfo[i].pRanges);
> }
> free(pRangeInfo);
> return err;
> diff --git a/record/set.c b/record/set.c
> index f2064fd..a9a6a44 100644
> --- a/record/set.c
> +++ b/record/set.c
> @@ -360,7 +360,7 @@ IntervalListCreateSet(RecordSetInterval *pIntervals, int nIntervals,
> memcpy(&prls[1], stackIntervals, nIntervals * sizeof(RecordSetInterval));
> prls->nIntervals = nIntervals;
> bailout:
> - if (stackIntervals) free(stackIntervals);
> + free(stackIntervals);
> return (RecordSetPtr)prls;
> }
>
> diff --git a/render/picture.c b/render/picture.c
> index f55711d..7fda6b9 100644
> --- a/render/picture.c
> +++ b/render/picture.c
> @@ -1524,8 +1524,7 @@ FreePicture (pointer value,
>
> if (--pPicture->refcnt == 0)
> {
> - if (pPicture->transform)
> - free(pPicture->transform);
> + free(pPicture->transform);
>
> if (pPicture->pSourcePict)
> {
> diff --git a/xkb/XKBGAlloc.c b/xkb/XKBGAlloc.c
> index f155cc8..796931c 100644
> --- a/xkb/XKBGAlloc.c
> +++ b/xkb/XKBGAlloc.c
> @@ -183,8 +183,7 @@ _XkbClearColor(char *color_in)
> {
> XkbColorPtr color= (XkbColorPtr)color_in;
>
> - if (color->spec)
> - free(color->spec);
> + free(color->spec);
> return;
> }
>
> @@ -663,8 +662,7 @@ register XkbPropertyPtr prop;
> return NULL;
> for (i=0,prop=geom->properties;i<geom->num_properties;i++,prop++) {
> if ((prop->name)&&(strcmp(name,prop->name)==0)) {
> - if (prop->value)
> - free(prop->value);
> + free(prop->value);
> prop->value= malloc(strlen(value)+1);
> if (prop->value)
> strcpy(prop->value,value);
> diff --git a/xkb/XKBMAlloc.c b/xkb/XKBMAlloc.c
> index abe0018..197523f 100644
> --- a/xkb/XKBMAlloc.c
> +++ b/xkb/XKBMAlloc.c
> @@ -312,8 +312,7 @@ KeyCode matchingKeys[XkbMaxKeyCount],nMatchingKeys;
> if ((map_count>type->map_count)||(type->map==NULL))
> type->map = realloc(type->map,map_count * sizeof(XkbKTMapEntryRec));
> if (!type->map) {
> - if (prev_map)
> - free(prev_map);
> + free(prev_map);
> return BadAlloc;
> }
> if (want_preserve) {
> @@ -324,8 +323,7 @@ KeyCode matchingKeys[XkbMaxKeyCount],nMatchingKeys;
> map_count * sizeof(XkbModsRec));
> }
> if (!type->preserve) {
> - if (prev_preserve)
> - free(prev_preserve);
> + free(prev_preserve);
> return BadAlloc;
> }
> }
> @@ -342,8 +340,7 @@ KeyCode matchingKeys[XkbMaxKeyCount],nMatchingKeys;
> type->level_names = realloc(type->level_names,
> new_num_lvls * sizeof(Atom));
> if (!type->level_names) {
> - if (prev_level_names)
> - free(prev_level_names);
> + free(prev_level_names);
> return BadAlloc;
> }
> }
> diff --git a/xkb/maprules.c b/xkb/maprules.c
> index 5aabd1c..c683c0d 100644
> --- a/xkb/maprules.c
> +++ b/xkb/maprules.c
> @@ -553,9 +553,9 @@ MakeMultiDefs(XkbRF_MultiDefsPtr mdefs, XkbRF_VarDefsPtr defs)
> static void
> FreeMultiDefs(XkbRF_MultiDefsPtr defs)
> {
> - if (defs->options) free(defs->options);
> - if (defs->layout[1]) free(defs->layout[1]);
> - if (defs->variant[1]) free(defs->variant[1]);
> + free(defs->options);
> + free(defs->layout[1]);
> + free(defs->variant[1]);
> }
>
> static void
> @@ -988,15 +988,15 @@ XkbRF_GroupPtr group;
> return;
> if (rules->rules) {
> for (i=0,rule=rules->rules;i<rules->num_rules;i++,rule++) {
> - if (rule->model) free(rule->model);
> - if (rule->layout) free(rule->layout);
> - if (rule->variant) free(rule->variant);
> - if (rule->option) free(rule->option);
> - if (rule->keycodes) free(rule->keycodes);
> - if (rule->symbols) free(rule->symbols);
> - if (rule->types) free(rule->types);
> - if (rule->compat) free(rule->compat);
> - if (rule->geometry) free(rule->geometry);
> + free(rule->model);
> + free(rule->layout);
> + free(rule->variant);
> + free(rule->option);
> + free(rule->keycodes);
> + free(rule->symbols);
> + free(rule->types);
> + free(rule->compat);
> + free(rule->geometry);
> memset((char *)rule, 0, sizeof(XkbRF_RuleRec));
> }
> free(rules->rules);
> @@ -1006,8 +1006,8 @@ XkbRF_GroupPtr group;
>
> if (rules->groups) {
> for (i=0, group=rules->groups;i<rules->num_groups;i++,group++) {
> - if (group->name) free(group->name);
> - if (group->words) free(group->words);
> + free(group->name);
> + free(group->words);
> }
> free(rules->groups);
> rules->num_groups= 0;
> diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
> index 0f3ffa4..bd58243 100644
> --- a/xkb/xkbInit.c
> +++ b/xkb/xkbInit.c
> @@ -220,20 +220,15 @@ char * pval;
> static void
> XkbSetRulesUsed(XkbRMLVOSet *rmlvo)
> {
> - if (XkbRulesUsed)
> - free(XkbRulesUsed);
> + free(XkbRulesUsed);
> XkbRulesUsed= (rmlvo->rules?_XkbDupString(rmlvo->rules):NULL);
> - if (XkbModelUsed)
> - free(XkbModelUsed);
> + free(XkbModelUsed);
> XkbModelUsed= (rmlvo->model?_XkbDupString(rmlvo->model):NULL);
> - if (XkbLayoutUsed)
> - free(XkbLayoutUsed);
> + free(XkbLayoutUsed);
> XkbLayoutUsed= (rmlvo->layout?_XkbDupString(rmlvo->layout):NULL);
> - if (XkbVariantUsed)
> - free(XkbVariantUsed);
> + free(XkbVariantUsed);
> XkbVariantUsed= (rmlvo->variant?_XkbDupString(rmlvo->variant):NULL);
> - if (XkbOptionsUsed)
> - free(XkbOptionsUsed);
> + free(XkbOptionsUsed);
> XkbOptionsUsed= (rmlvo->options?_XkbDupString(rmlvo->options):NULL);
> if (XkbWantRulesProp)
> QueueWorkProc(XkbWriteRulesProp,NULL,NULL);
> @@ -244,28 +239,23 @@ void
> XkbSetRulesDflts(XkbRMLVOSet *rmlvo)
> {
> if (rmlvo->rules) {
> - if (XkbRulesDflt)
> - free(XkbRulesDflt);
> + free(XkbRulesDflt);
> XkbRulesDflt= _XkbDupString(rmlvo->rules);
> }
> if (rmlvo->model) {
> - if (XkbModelDflt)
> - free(XkbModelDflt);
> + free(XkbModelDflt);
> XkbModelDflt= _XkbDupString(rmlvo->model);
> }
> if (rmlvo->layout) {
> - if (XkbLayoutDflt)
> - free(XkbLayoutDflt);
> + free(XkbLayoutDflt);
> XkbLayoutDflt= _XkbDupString(rmlvo->layout);
> }
> if (rmlvo->variant) {
> - if (XkbVariantDflt)
> - free(XkbVariantDflt);
> + free(XkbVariantDflt);
> XkbVariantDflt= _XkbDupString(rmlvo->variant);
> }
> if (rmlvo->options) {
> - if (XkbOptionsDflt)
> - free(XkbOptionsDflt);
> + free(XkbOptionsDflt);
> XkbOptionsDflt= _XkbDupString(rmlvo->options);
> }
> return;
> diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c
> index d75f920..ae3666f 100644
> --- a/xkb/xkbLEDs.c
> +++ b/xkb/xkbLEDs.c
> @@ -605,8 +605,8 @@ void
> XkbFreeSrvLedInfo(XkbSrvLedInfoPtr sli)
> {
> if ((sli->flags&XkbSLI_IsDefault)==0) {
> - if (sli->maps) free(sli->maps);
> - if (sli->names) free(sli->names);
> + free(sli->maps);
> + free(sli->names);
> }
> sli->maps= NULL;
> sli->names= NULL;
> --
> 1.7.1
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
More information about the xorg-devel
mailing list