diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-08-07 17:24:27 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-08-10 21:47:04 +0000 |
commit | a8063054f90b6f134a8bac089667356b8e974a38 (patch) | |
tree | 466d6c7abc4a0a23bfd470c9ecbb4fd4e4adba20 /apps/gui | |
parent | 614b189f7a13b8099b2198f6ca9ae5917e5c79f1 (diff) | |
download | rockbox-a8063054f90b6f134a8bac089667356b8e974a38.tar.gz rockbox-a8063054f90b6f134a8bac089667356b8e974a38.zip |
skin engine: handle bitmap read errors appropriately
Change-Id: Ifab0e607cb71afbe26b9e508fe1db3a8730bad4b
Diffstat (limited to 'apps/gui')
-rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 7bcd25d258..a1cc40ff6e 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c | |||
@@ -1856,8 +1856,14 @@ static int load_skin_bmp(struct wps_data *wps_data, struct bitmap *bitmap, char* | |||
1856 | return fd; | 1856 | return fd; |
1857 | } | 1857 | } |
1858 | #ifndef __PCTOOL__ | 1858 | #ifndef __PCTOOL__ |
1859 | size_t buf_size = read_bmp_fd(fd, bitmap, 0, | 1859 | int buf_size = read_bmp_fd(fd, bitmap, 0, |
1860 | format|FORMAT_RETURN_SIZE, NULL); | 1860 | format|FORMAT_RETURN_SIZE, NULL); |
1861 | if(buf_size < 0) | ||
1862 | { | ||
1863 | close(fd); | ||
1864 | return buf_size; | ||
1865 | } | ||
1866 | |||
1861 | handle = core_alloc_ex(bitmap->data, buf_size, &buflib_ops); | 1867 | handle = core_alloc_ex(bitmap->data, buf_size, &buflib_ops); |
1862 | if (handle <= 0) | 1868 | if (handle <= 0) |
1863 | { | 1869 | { |