aboutsummaryrefslogtreecommitdiff
path: root/src/Routes/ImageProxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/Routes/ImageProxy.c')
-rw-r--r--src/Routes/ImageProxy.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Routes/ImageProxy.c b/src/Routes/ImageProxy.c
index eb9c7d5..2d6d3a9 100644
--- a/src/Routes/ImageProxy.c
+++ b/src/Routes/ImageProxy.c
@@ -301,6 +301,13 @@ int image_proxy_handler(UrlParams *params) {
int cache_ttl = get_cache_ttl_image();
if (cache_get(cache_key, cache_ttl, &cached_data, &cached_size) == 0) {
+ if (!cached_data || cached_size == 0) {
+ free(cached_data);
+ free(cache_key);
+ send_response("Empty cached image response");
+ return 0;
+ }
+
char content_type[64] = {0};
const char *ext = strrchr(url, '.');
@@ -406,6 +413,13 @@ int image_proxy_handler(UrlParams *params) {
return 0;
}
+ if (buf.size == 0) {
+ free(buf.data);
+ free(cache_key);
+ send_response("Empty image response");
+ return 0;
+ }
+
if (strlen(content_type) == 0 ||
strncmp(content_type, "image/", 6) != 0) {
free(buf.data);