[Ocfs2-tools-devel] [PATCH 5/5] mount.ocfs2: Check if 's' is NULL before free it

piaojun piaojun at huawei.com
Tue Apr 28 17:27:46 PDT 2015


Hi Goldwyn,
	
	Thanks for your suggestion, and I have updated my patch in V2.

在 2015/4/24 23:11, Goldwyn Rodrigues 写道:
> Hi piaojun,
> 
> On 04/02/2015 07:54 AM, piaojun wrote:
>> In xstrconcat2() and xstrconcat3(), we should check if 's' is null before
>> free it.
>>
>> Signed-off-by: Jun Piao <piaojun at huawei.com>
>> Reviewed-by: Alex Chen <alex.chen at huawei.com>
>>
>> ---
>>   mount.ocfs2/sundries.c | 21 +++++++++++++++------
>>   1 file changed, 15 insertions(+), 6 deletions(-)
>>
>> diff --git a/mount.ocfs2/sundries.c b/mount.ocfs2/sundries.c
>> index 2e1b95a..e1cefb6 100644
>> --- a/mount.ocfs2/sundries.c
>> +++ b/mount.ocfs2/sundries.c
>> @@ -48,15 +48,20 @@ xstrconcat2 (const char *s, const char *t) {
>>   char *
>>   xstrconcat3 (const char *s, const char *t, const char *u) {
>>        char *res;
>> -
>> -     if (!s) s = "";
>> +     int free_flag = 1;
>> +     if (!s){
>> +         s = "";
>> +         free_flag = 0;
>> +     }
>>        if (!t) t = "";
>>        if (!u) u = "";
>>        res = xmalloc(strlen(s) + strlen(t) + strlen(u) + 1);
>>        strcpy(res, s);
>>        strcat(res, t);
>>        strcat(res, u);
>> -     free((void *) s);
>> +     if (free_flag){
>> +         free((void *) s);
>> +     }
>>        return res;
>>   }
> 
> Instead of using an additional flag, could you use -
> 
> if (strlen(s))
>     free(s);
> 
> It looks neater, and is easier to understand.
> 




More information about the Ocfs2-tools-devel mailing list