mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 06:49:35 +00:00
* grub-core/kern/file.c (grub_file_open): Free file->name on failure.
(grub_file_close): Free file->name.
This commit is contained in:
1 parent
7bbb60cfbd
commit
33d02a42d6
2 files changed
+9
-3
No files matched your search
@@ -1,3 +1,8 @@
|
|||||||
|
2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/kern/file.c (grub_file_open): Free file->name on failure.
|
||||||
|
(grub_file_close): Free file->name.
|
||||||
|
|
||||||
2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
|
2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/commands/verify.c (free_pk): Plug memory leak.
|
* grub-core/commands/verify.c (free_pk): Plug memory leak.
|
||||||
|
|||||||
@@ -87,9 +87,6 @@ grub_file_open (const char *name)
|
|||||||
if (! file)
|
if (! file)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
file->name = grub_strdup (name);
|
|
||||||
grub_errno = GRUB_ERR_NONE;
|
|
||||||
|
|
||||||
file->device = device;
|
file->device = device;
|
||||||
|
|
||||||
if (device->disk && file_name[0] != '/')
|
if (device->disk && file_name[0] != '/')
|
||||||
@@ -105,6 +102,9 @@ grub_file_open (const char *name)
|
|||||||
if ((file->fs->open) (file, file_name) != GRUB_ERR_NONE)
|
if ((file->fs->open) (file, file_name) != GRUB_ERR_NONE)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
file->name = grub_strdup (name);
|
||||||
|
grub_errno = GRUB_ERR_NONE;
|
||||||
|
|
||||||
for (filter = 0; file && filter < ARRAY_SIZE (grub_file_filters_enabled);
|
for (filter = 0; file && filter < ARRAY_SIZE (grub_file_filters_enabled);
|
||||||
filter++)
|
filter++)
|
||||||
if (grub_file_filters_enabled[filter])
|
if (grub_file_filters_enabled[filter])
|
||||||
@@ -187,6 +187,7 @@ grub_file_close (grub_file_t file)
|
|||||||
|
|
||||||
if (file->device)
|
if (file->device)
|
||||||
grub_device_close (file->device);
|
grub_device_close (file->device);
|
||||||
|
grub_free (file->name);
|
||||||
grub_free (file);
|
grub_free (file);
|
||||||
return grub_errno;
|
return grub_errno;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user