| 28 Aug 2025 |
helle (just a stray cat girl) | either stack or indefinitely growing the output array due to a lack of correct termination of the decode | 10:11:43 |
Sergei Zimmerman (xokdvium) | Hm yeah seems to be growing a std::string in list called from dumpSingle | 10:19:00 |
piegames | In reply to @xokdvium:matrix.org For context, I was doing URL cleanups in CppNix and added validation code for this sort of thing. That seems to be fucked everywhere. Percent encoded NUL bytes are a menace What the hell even is this percent encoding 👀 | 13:01:27 |
piegames | Oh wait that's an URL encoding | 13:31:01 |
Sergei Zimmerman (xokdvium) | In reply to @piegames:flausch.social Oh wait that's an URL encoding tomayto, tomahto | 13:34:30 |
piegames | Dunno, it's just that I forgot Nix uses URLs for Flakes here, so I was bracing for yet another ad-hoc escaping mechanism (the ones within the language are not well designed) | 13:39:02 |
aloisw | There are also other places where shitty URL parsers that don't handle percent-encoding properly are used, for example the remote builders. | 15:22:44 |
Sergei Zimmerman (xokdvium) | In lix maybe, don't imagine this code was touched much since 2.18 | 16:10:24 |
aloisw | Are you saying this is fixed in nix? | 16:48:32 |
Sergei Zimmerman (xokdvium) | Not entirely, but it's starting to look less scuffed now. Final beast to defeat is the invalid %2F decoding into /, which completely changes the meaning of flake references. | 16:54:37 |
Sergei Zimmerman (xokdvium) | That stuff should round-trip, but doesn't | 16:55:27 |
tea | https://github.com/NixOS/nix/pull/13708 has pretty neat performance gains, not sure about the tradeoffs involved. | 17:58:43 |