chiark / gitweb /
bundles download: swap locking order
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 4 May 2021 02:21:29 +0000 (03:21 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 4 May 2021 11:28:51 +0000 (12:28 +0100)
We're going to want to keep ig a bit longer

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/main.rs

index 8c77888d4a29fae46da6287c77ea3e53a6009de6..225941f8495dc92aad7803021be416fe4da76dc2 100644 (file)
@@ -242,9 +242,9 @@ fn bundle<'r>(instance: Parse<InstanceName>,
   let id = id.0;
   let gref = Instance::lookup_by_name_unauth(instance)
     .map_err(|_| BadAssetUrlToken)?;
+  let ig = gref.lock().map_err(|_| BadAssetUrlToken)?;
   let auth = {
-    let gref = gref.by_ref(Authorisation::authorise_any());
-    let ig = gref.lock().map_err(|_| BadAssetUrlToken)?;
+    let ig = ig.by_ref(Authorisation::authorise_any());
     ig.asset_url_key.check("bundle", &(instance, id), &token)?
   }.map(|(_,id)| id);
   let f = id.open_by_name(instance, auth).map_err(IE::from)?;