From 9f64868d329d546a488200686f8278adf56599e3 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 21 Mar 2018 10:45:26 +0100 Subject: [PATCH] imagecache: id is 'int' type, correct the overflow, fixes #5016 --- src/channels.c | 4 ++-- src/imagecache.c | 10 ++++------ src/imagecache.h | 4 ++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/channels.c b/src/channels.c index 1c2c55239..9cf5ad43c 100644 --- a/src/channels.c +++ b/src/channels.c @@ -1024,7 +1024,7 @@ channel_get_icon ( channel_t *ch ) *picon = config.picon_path, *icon = ch->ch_icon, *chname, *icn; - uint32_t id, i, pick, prefer = config.prefer_picon ? 1 : 0; + int id, i, pick, prefer = config.prefer_picon ? 1 : 0; char c; if (tvh_str_default(icon, NULL) == NULL) @@ -1629,7 +1629,7 @@ channel_tag_get_icon(channel_tag_t *ct) { static char buf[64]; const char *icon = ct->ct_icon; - uint32_t id; + int id; /* Lookup imagecache ID */ if ((id = imagecache_get_id(icon))) { diff --git a/src/imagecache.c b/src/imagecache.c index b01d0ae1e..a169587d8 100644 --- a/src/imagecache.c +++ b/src/imagecache.c @@ -402,7 +402,7 @@ imagecache_init ( void ) htsmsg_field_t *f; imagecache_image_t *img, *i; const char *url, *sha1; - uint32_t id; + int id; /* Init vars */ imagecache_id = 0; @@ -450,8 +450,6 @@ imagecache_init ( void ) } i = RB_INSERT_SORTED(&imagecache_by_id, img, id_link, id_cmp); assert(!i); - if (id > imagecache_id) - imagecache_id = id; #if ENABLE_IMAGECACHE if (!img->updated) imagecache_image_add(img); @@ -594,10 +592,10 @@ imagecache_trigger( void ) /* * Fetch a URLs ID */ -uint32_t +int imagecache_get_id ( const char *url ) { - uint32_t id = 0; + int id = 0; imagecache_image_t *i; lock_assert(&global_lock); @@ -643,7 +641,7 @@ imagecache_get_id ( const char *url ) * Get data */ int -imagecache_filename ( uint32_t id, char *name, size_t len ) +imagecache_filename ( int id, char *name, size_t len ) { imagecache_image_t skel, *i; char *fn; diff --git a/src/imagecache.h b/src/imagecache.h index f4201bd97..0bbc85297 100644 --- a/src/imagecache.h +++ b/src/imagecache.h @@ -42,8 +42,8 @@ void imagecache_clean ( void ); void imagecache_trigger ( void ); // Note: will return 0 if invalid (must serve original URL) -uint32_t imagecache_get_id ( const char *url ); +int imagecache_get_id ( const char *url ); -int imagecache_filename ( uint32_t id, char *name, size_t len ); +int imagecache_filename ( int id, char *name, size_t len ); #endif /* __IMAGE_CACHE_H__ */ -- 2.47.2