summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-12-29 18:08:03 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-12-29 18:08:03 +0200
commit7500fab0365aaf9af89d961a5872ae9a04d90117 (patch)
treeba5e67425f63b920a46b671b53039f7ebb18d4ec
parent4997c455f49a6cc14142b0e4687ccf4d4b89ec20 (diff)
ges-asset: Don't dereference NULL proxy assets when resolving fails
CID 1346531
-rw-r--r--ges/ges-asset.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/ges/ges-asset.c b/ges/ges-asset.c
index fb1c596d..5d2d6913 100644
--- a/ges/ges-asset.c
+++ b/ges/ges-asset.c
@@ -1074,17 +1074,19 @@ ges_asset_request_async (GType extractable_type,
ges_asset_cache_append_task (extractable_type, real_id, task);
goto done;
- case ASSET_PROXIED:
- asset = ges_asset_get_proxy (asset);
+ case ASSET_PROXIED:{
+ GESAsset *target = ges_asset_get_proxy (asset);
- if (asset == NULL) {
+ if (target == NULL) {
GST_ERROR ("Asset %s proxied against an asset (%s) we do not"
" have in cache, something massively screwed",
asset->priv->id, asset->priv->proxied_asset_id);
goto done;
}
+ asset = target;
break;
+ }
case ASSET_NEEDS_RELOAD:
GST_DEBUG_OBJECT (asset, "Asset in cache and needs reload");
ges_asset_cache_append_task (extractable_type, real_id, task);