diff options
Diffstat (limited to 'apps/gui')
-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 20156a665c..a06cb77a34 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, | |||
486 | /* invalid picture display tag */ | 486 | /* invalid picture display tag */ |
487 | return WPS_ERROR_INVALID_PARAM; | 487 | return WPS_ERROR_INVALID_PARAM; |
488 | } | 488 | } |
489 | /* sanity check */ | ||
490 | img = find_image(n, wps_data); | ||
491 | if (!img) | ||
492 | return WPS_ERROR_INVALID_PARAM; | ||
489 | 493 | ||
490 | if ((subimage = get_image_id(wps_bufptr[1])) != -1) | 494 | if ((subimage = get_image_id(wps_bufptr[1])) != -1) |
491 | { | 495 | { |
492 | img = find_image(n, wps_data); | 496 | if (subimage >= img->num_subimages) |
493 | /* Sanity check */ | ||
494 | if (!img || subimage >= img->num_subimages) | ||
495 | return WPS_ERROR_INVALID_PARAM; | 497 | return WPS_ERROR_INVALID_PARAM; |
496 | 498 | ||
497 | /* Store sub-image number to display in high bits */ | 499 | /* Store sub-image number to display in high bits */ |