pandorasbox
pandorasbox copied to clipboard
An intuitive and encrypted in-memory filesystem (VFS)
The implementation of `Sync()` races the test of `f.node != nil` with [`Close()`’s setting of the `node = nil`](https://github.com/capnspacehook/pandorasbox/blob/master/vfs/vfsfile.go#L406) There needs to either be an `atomic` load to precheck the...
In `vfs.ReadFile` there is a [`defer f.Close()`](https://github.com/capnspacehook/pandorasbox/blob/master/vfs/vfs.go#L254) which throws away its error, as well as an inline [`f.Close()`](https://github.com/capnspacehook/pandorasbox/blob/master/vfs/vfs.go#L264) that does not swallow the error, unless there was already an error...
In [`vfs.ReadFile`](https://github.com/capnspacehook/pandorasbox/blob/master/vfs/vfs.go#L262) as short read is returned as a `ErrShortWrite` and not an `UnexpectedEOF` as one would expect as from [`io.ReadAtLeast`](https://cs.opensource.google/go/go/+/refs/tags/go1.19.1:src/io/io.go;l=338;drc=41089704ddafa736e73ebd54f837706e979ecb49) Returning an error that reports that it was performing...
[`vfs.OpenFile`](https://github.com/capnspacehook/pandorasbox/blob/master/vfs/vfs.go#L121) contains many mutations of the underlying `pbFS` that are not performed under lock. Of particular note, the mutation of [`fs.data` during file creation](https://github.com/capnspacehook/pandorasbox/blob/master/vfs/vfs.go#L221) although there are also numerous modifications...
There is no global mutex lock on changing the value of the global in [`InitGlobalBox`](https://github.com/capnspacehook/pandorasbox/blob/f7a35a7c759a/pandoras_box.go#L12-L14) and as such, is open to race conditions. It also remains unclear when and where...
According to [RFC 3986 Section 3](https://www.rfc-editor.org/rfc/rfc3986#section-3) if a URI contains `://` then it must have an `authority` and an `path-abempty`. This means that at minimum it must either be `scheme://`...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.0.0-20210314154223-e6e6c4f2bb5b to 0.1.0. Commits See full diff in compare view [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter...
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.0.0-20210316092937-0b90fd5c4c48 to 0.1.0. Commits See full diff in compare view [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter...