diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2009-08-17 07:16:57 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2009-08-17 07:16:57 +0000 |
| commit | 91aa512754233c1793c3842e793d31ae436c4a25 (patch) | |
| tree | ae0d71f915528a687c70df7d9836d04708ba9b18 | |
| parent | 35ffefa6b66be3098751cd6231738d9d46cfac73 (diff) | |
| download | rockbox-91aa512754233c1793c3842e793d31ae436c4a25.zip rockbox-91aa512754233c1793c3842e793d31ae436c4a25.tar.gz rockbox-91aa512754233c1793c3842e793d31ae436c4a25.tar.bz2 rockbox-91aa512754233c1793c3842e793d31ae436c4a25.tar.xz | |
fix the %xd<id> tag parser to complain if you try to display an image it hasnt loaded yet
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22373 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 20156a6..a06cb77 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -486,12 +486,14 @@ static int parse_image_display(const char *wps_bufptr, /* invalid picture display tag */ return WPS_ERROR_INVALID_PARAM; } + /* sanity check */ + img = find_image(n, wps_data); + if (!img) + return WPS_ERROR_INVALID_PARAM; if ((subimage = get_image_id(wps_bufptr[1])) != -1) { - img = find_image(n, wps_data); - /* Sanity check */ - if (!img || subimage >= img->num_subimages) + if (subimage >= img->num_subimages) return WPS_ERROR_INVALID_PARAM; /* Store sub-image number to display in high bits */ |