Skip to content

Commit d3c2c9a

Browse files
committed
remote: fix queryPathInfoUncached missing content address decoding
queryPathInfoUncached fails with a "not enough input" message when decoding Metadata that is missing a content address. nix-daemon encodes a missing content address as an empty string: https://github.com/NixOS/nix/blob/a6b315ae8/src/libstore/content-address.cc#L139 Change the decoding to return Nothing if the caString is empty.
1 parent f1741e8 commit d3c2c9a

File tree

1 file changed

+2
-0
lines changed
  • hnix-store-remote/src/System/Nix/Store

1 file changed

+2
-0
lines changed

hnix-store-remote/src/System/Nix/Store/Remote.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import Data.Dependent.Sum (DSum((:=>)))
3434
import Data.HashSet (HashSet)
3535
import Data.Map (Map)
3636
import Data.Text (Text)
37+
import qualified Data.Text
3738
import qualified Control.Monad
3839
import qualified Data.Attoparsec.Text
3940
import qualified Data.Text.Encoding
@@ -253,6 +254,7 @@ queryPathInfoUncached path = do
253254
sigs = Data.Set.empty
254255

255256
contentAddress =
257+
if Data.Text.null caString then Nothing else
256258
case
257259
Data.Attoparsec.Text.parseOnly
258260
System.Nix.ContentAddress.contentAddressParser

0 commit comments

Comments
 (0)