diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-12-29 18:08:03 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-12-29 18:08:03 +0200 |
commit | 7500fab0365aaf9af89d961a5872ae9a04d90117 (patch) | |
tree | ba5e67425f63b920a46b671b53039f7ebb18d4ec | |
parent | 4997c455f49a6cc14142b0e4687ccf4d4b89ec20 (diff) |
ges-asset: Don't dereference NULL proxy assets when resolving fails
CID 1346531
-rw-r--r-- | ges/ges-asset.c | 8 |
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); |