[PATCH libICE 1/2] free() can handle NULL so remove the check
walter harms
wharms at bfs.de
Tue Sep 12 09:49:23 UTC 2017
Am 12.09.2017 10:58, schrieb Eric Engestrom:
> On Friday, 2017-09-08 19:59:17 +0200, walter harms wrote:
>> free() can handle NULL so remove the check
>
> Did you use a cocci script [1] to generate this?
> If so, can you add it to the commit message?
>
no, i used smatch, to be fair i did not mention it.
re,
wh
> Regardless, I double-checked it and it looks good to me:
> Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
>
> [1] perhaps something like this?
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/coccinelle/free/ifnullfree.cocci
>
>>
>> Signed-off-by: Walter Harms <wharms at bfs.de>
>> ---
>> src/authutil.c | 24 ++++++++++++------------
>> src/misc.c | 3 +--
>> src/process.c | 41 +++++++++++++++--------------------------
>> src/shutdown.c | 44 +++++++++++---------------------------------
>> 4 files changed, 39 insertions(+), 73 deletions(-)
>>
>> diff --git a/src/authutil.c b/src/authutil.c
>> index ca0504a..d7bcef9 100644
>> --- a/src/authutil.c
>> +++ b/src/authutil.c
>> @@ -111,8 +111,8 @@ IceAuthFileName (void)
>>
>> if (size > bsize)
>> {
>> - if (buf)
>> - free (buf);
>> +
>> + free (buf);
>> buf = malloc (size);
>> if (!buf) {
>> bsize = 0;
>> @@ -266,11 +266,11 @@ IceReadAuthFileEntry (
>>
>> bad:
>>
>> - if (local.protocol_name) free (local.protocol_name);
>> - if (local.protocol_data) free (local.protocol_data);
>> - if (local.network_id) free (local.network_id);
>> - if (local.auth_name) free (local.auth_name);
>> - if (local.auth_data) free (local.auth_data);
>> + free (local.protocol_name);
>> + free (local.protocol_data);
>> + free (local.network_id);
>> + free (local.auth_name);
>> + free (local.auth_data);
>>
>> return (NULL);
>> }
>> @@ -284,11 +284,11 @@ IceFreeAuthFileEntry (
>> {
>> if (auth)
>> {
>> - if (auth->protocol_name) free (auth->protocol_name);
>> - if (auth->protocol_data) free (auth->protocol_data);
>> - if (auth->network_id) free (auth->network_id);
>> - if (auth->auth_name) free (auth->auth_name);
>> - if (auth->auth_data) free (auth->auth_data);
>> + free (auth->protocol_name);
>> + free (auth->protocol_data);
>> + free (auth->network_id);
>> + free (auth->auth_name);
>> + free (auth->auth_data);
>> free (auth);
>> }
>> }
>> diff --git a/src/misc.c b/src/misc.c
>> index d2e9150..87d6335 100644
>> --- a/src/misc.c
>> +++ b/src/misc.c
>> @@ -54,8 +54,7 @@ IceAllocScratch (
>> {
>> if (!iceConn->scratch || size > iceConn->scratch_size)
>> {
>> - if (iceConn->scratch)
>> - free (iceConn->scratch);
>> + free (iceConn->scratch);
>>
>> iceConn->scratch = malloc (size);
>> iceConn->scratch_size = size;
>> diff --git a/src/process.c b/src/process.c
>> index 4100a83..a9a8d08 100644
>> --- a/src/process.c
>> +++ b/src/process.c
>> @@ -1026,8 +1026,7 @@ ProcessConnectionSetup (
>> iceConn->connection_status = IceConnectRejected;
>> }
>>
>> - if (hostname)
>> - free (hostname);
>> + free (hostname);
>> }
>>
>> if (iceConn->connection_status == IceConnectRejected)
>> @@ -1080,8 +1079,7 @@ ProcessConnectionSetup (
>> if (authData && authDataLen > 0)
>> free (authData);
>>
>> - if (errorString)
>> - free (errorString);
>> + free (errorString);
>> }
>>
>> if (accept_setup_now)
>> @@ -1369,8 +1367,7 @@ ProcessAuthReply (
>> status = IcePaAuthAccepted;
>> }
>>
>> - if (hostname)
>> - free (hostname);
>> + free (hostname);
>> }
>>
>> if (status != IcePaAuthAccepted)
>> @@ -1444,8 +1441,7 @@ ProcessAuthReply (
>> status = IcePaAuthAccepted;
>> }
>>
>> - if (hostname)
>> - free (hostname);
>> + free (hostname);
>> }
>>
>> if (status == IcePaAuthRejected)
>> @@ -1559,18 +1555,15 @@ ProcessAuthReply (
>> _IceErrorSetupFailed (iceConn, ICE_ProtocolSetup,
>> failureReason);
>>
>> - if (failureReason)
>> - free (failureReason);
>> + free (failureReason);
>> }
>> }
>>
>>
>> if (free_setup_info)
>> {
>> - if (iceConn->protosetup_to_me->his_vendor)
>> - free (iceConn->protosetup_to_me->his_vendor);
>> - if (iceConn->protosetup_to_me->his_release)
>> - free (iceConn->protosetup_to_me->his_release);
>> + free (iceConn->protosetup_to_me->his_vendor);
>> + free (iceConn->protosetup_to_me->his_release);
>> free (iceConn->protosetup_to_me);
>> iceConn->protosetup_to_me = NULL;
>> }
>> @@ -1587,8 +1580,8 @@ ProcessAuthReply (
>> if (authData && authDataLen > 0)
>> free (authData);
>>
>> - if (errorString)
>> - free (errorString);
>> +
>> + free (errorString);
>>
>> IceDisposeCompleteMessage (iceConn, replyData);
>> return (0);
>> @@ -2071,8 +2064,7 @@ ProcessProtocolSetup (
>> ICE_ProtocolSetup, "None of the authentication protocols specified are supported and host-based authentication failed");
>> }
>>
>> - if (hostname)
>> - free (hostname);
>> + free (hostname);
>> }
>> }
>> else
>> @@ -2118,8 +2110,8 @@ ProcessProtocolSetup (
>> if (authData && authDataLen > 0)
>> free (authData);
>>
>> - if (errorString)
>> - free (errorString);
>> +
>> + free (errorString);
>> }
>>
>> if (accept_setup_now)
>> @@ -2202,16 +2194,13 @@ ProcessProtocolSetup (
>>
>> _IceErrorSetupFailed (iceConn, ICE_ProtocolSetup, failureReason);
>>
>> - if (failureReason)
>> - free (failureReason);
>> + free (failureReason);
>> }
>> }
>>
>> - if (vendor)
>> - free (vendor);
>>
>> - if (release)
>> - free (release);
>> + free (vendor);
>> + free (release);
>>
>> if (hisAuthCount > 0)
>> {
>> diff --git a/src/shutdown.c b/src/shutdown.c
>> index 5def0b4..90e9ded 100644
>> --- a/src/shutdown.c
>> +++ b/src/shutdown.c
>> @@ -282,39 +282,17 @@ _IceFreeConnection (
>> if (iceConn->trans_conn)
>> _IceTransClose (iceConn->trans_conn);
>>
>> - if (iceConn->connection_string)
>> - free (iceConn->connection_string);
>> -
>> - if (iceConn->vendor)
>> - free (iceConn->vendor);
>> -
>> - if (iceConn->release)
>> - free (iceConn->release);
>> -
>> - if (iceConn->inbuf)
>> - free (iceConn->inbuf);
>> -
>> - if (iceConn->outbuf)
>> - free (iceConn->outbuf);
>> -
>> - if (iceConn->scratch)
>> - free (iceConn->scratch);
>> -
>> - if (iceConn->process_msg_info)
>> - free (iceConn->process_msg_info);
>> -
>> - if (iceConn->connect_to_you)
>> - free (iceConn->connect_to_you);
>> -
>> - if (iceConn->protosetup_to_you)
>> - free (iceConn->protosetup_to_you);
>> -
>> - if (iceConn->connect_to_me)
>> - free (iceConn->connect_to_me);
>> -
>> - if (iceConn->protosetup_to_me)
>> - free (iceConn->protosetup_to_me);
>> -
>> + free (iceConn->connection_string);
>> + free (iceConn->vendor);
>> + free (iceConn->release);
>> + free (iceConn->inbuf);
>> + free (iceConn->outbuf);
>> + free (iceConn->scratch);
>> + free (iceConn->process_msg_info);
>> + free (iceConn->connect_to_you);
>> + free (iceConn->protosetup_to_you);
>> + free (iceConn->connect_to_me);
>> + free (iceConn->protosetup_to_me);
>> free (iceConn);
>> }
>>
>> --
>> 2.1.4
>>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel
More information about the xorg-devel
mailing list