* util/misc.c (grub_util_get_image_size): Check for overflow.

This commit is contained in:
Vladimir Serbinenko 2013-12-21 14:28:14 +01:00
parent 80b29fc9b4
commit 74763e9615
2 changed files with 9 additions and 1 deletions

View file

@ -1,3 +1,7 @@
2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
* util/misc.c (grub_util_get_image_size): Check for overflow.
2013-12-21 Vladimir Serbinenko <phcoder@gmail.com> 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t

View file

@ -79,6 +79,7 @@ grub_util_get_image_size (const char *path)
{ {
FILE *f; FILE *f;
size_t ret; size_t ret;
off_t sz;
f = grub_util_fopen (path, "rb"); f = grub_util_fopen (path, "rb");
@ -87,7 +88,10 @@ grub_util_get_image_size (const char *path)
fseeko (f, 0, SEEK_END); fseeko (f, 0, SEEK_END);
ret = ftello (f); sz = ftello (f);
if (sz != (size_t) sz)
grub_util_error (_("file `%s' is too big"), path);
ret = (size_t) sz;
fclose (f); fclose (f);