[Mesa-dev] [PATCH] intel/aubinator: fix resource leak in aub_file_open

Nayan Deshmukh nayan26deshmukh at gmail.com
Mon Dec 5 05:23:01 UTC 2016


Yes, you are right, sorry for the noise.

Regards,
Nayan.

On Mon, Dec 5, 2016 at 10:14 AM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> Calling exit() is going to cause the program to terminate and all of its
> resources will get cleaned up by the OS.  There's no real reason why we need
> to free anything first.
>
> On Sun, Dec 4, 2016 at 9:47 AM, Nayan Deshmukh <nayan26deshmukh at gmail.com>
> wrote:
>>
>> CovID: 1373563
>>
>> Signed-off-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>
>> ---
>>  src/intel/tools/aubinator.c | 9 ++++++---
>>  1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c
>> index 5e3a684..f64a843 100644
>> --- a/src/intel/tools/aubinator.c
>> +++ b/src/intel/tools/aubinator.c
>> @@ -959,25 +959,28 @@ aub_file_open(const char *filename)
>>     fd = open(filename, O_RDONLY);
>>     if (fd == -1) {
>>        fprintf(stderr, "open %s failed: %s\n", filename, strerror(errno));
>> -      exit(EXIT_FAILURE);
>> +      goto exit_failure;
>>     }
>>
>>     if (fstat(fd, &sb) == -1) {
>>        fprintf(stderr, "stat failed: %s\n", strerror(errno));
>> -      exit(EXIT_FAILURE);
>> +      goto exit_failure;
>>     }
>>
>>     file->map = mmap(NULL, sb.st_size,
>>                      PROT_READ, MAP_SHARED, fd, 0);
>>     if (file->map == MAP_FAILED) {
>>        fprintf(stderr, "mmap failed: %s\n", strerror(errno));
>> -      exit(EXIT_FAILURE);
>> +      goto exit_failure;
>>     }
>>
>>     file->cursor = file->map;
>>     file->end = file->map + sb.st_size / 4;
>>
>>     return file;
>> +exit_failure:
>> +   free(file);
>> +   exit(EXIT_FAILURE);
>>  }
>>
>>  static struct aub_file *
>> --
>> 2.9.3
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>


More information about the mesa-dev mailing list