From: Sean Bright Date: Tue, 28 Feb 2017 19:48:51 +0000 (-0500) Subject: media_cache: Mark cache entry stale if cache file is removed X-Git-Tag: 14.4.0-rc1~47^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d10b6921392a792ae097344dce56fcf6831bdbc5;p=thirdparty%2Fasterisk.git media_cache: Mark cache entry stale if cache file is removed In the event that a cache file is removed out from under us, we should treat the cache entry as stale and force a refresh. ASTERISK-26774 #close Reported by: Igor Gamayunov Change-Id: I3b1bd0c999d59d18664ef73a29823bc5b431dc52 --- diff --git a/main/media_cache.c b/main/media_cache.c index 958a05bb25..4d1cf546a6 100644 --- a/main/media_cache.c +++ b/main/media_cache.c @@ -226,7 +226,8 @@ int ast_media_cache_retrieve(const char *uri, const char *preferred_file_name, */ bucket_file = ao2_find(media_cache, uri, OBJ_SEARCH_KEY | OBJ_NOLOCK); if (bucket_file) { - if (!ast_bucket_file_is_stale(bucket_file)) { + if (!ast_bucket_file_is_stale(bucket_file) + && !access(bucket_file->path, R_OK)) { ast_copy_string(file_path, bucket_file->path, len); if ((ext = strrchr(file_path, '.'))) { *ext = '\0';