summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/syncthing-fix-crash.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/syncthing-fix-crash.patch')
-rw-r--r--gnu/packages/patches/syncthing-fix-crash.patch72
1 files changed, 0 insertions, 72 deletions
diff --git a/gnu/packages/patches/syncthing-fix-crash.patch b/gnu/packages/patches/syncthing-fix-crash.patch
deleted file mode 100644
index d27e543982..0000000000
--- a/gnu/packages/patches/syncthing-fix-crash.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Avoid a crash:
-
-https://github.com/syncthing/syncthing/issues/5002
-
-Patch copied from upstream source repository:
-
-https://github.com/syncthing/syncthing/commit/35a75a95dc6383b2d73ab645f1407f7907ec1a2c
-
-From 35a75a95dc6383b2d73ab645f1407f7907ec1a2c Mon Sep 17 00:00:00 2001
-From: Jakob Borg <jakob@kastelo.net>
-Date: Wed, 13 Jun 2018 19:07:52 +0200
-Subject: [PATCH] lib/model: Don't panic when rechecking file (fixes #5002)
- (#5003)
-
----
- lib/model/model.go | 2 +-
- lib/model/model_test.go | 26 ++++++++++++++++++++++++++
- 2 files changed, 27 insertions(+), 1 deletion(-)
-
-diff --git a/lib/model/model.go b/lib/model/model.go
-index 5a9146e0..302f06c5 100644
---- a/lib/model/model.go
-+++ b/lib/model/model.go
-@@ -1373,7 +1373,7 @@ func (m *Model) recheckFile(deviceID protocol.DeviceID, folderFs fs.Filesystem,
- return
- }
-
-- if blockIndex > len(cf.Blocks) {
-+ if blockIndex >= len(cf.Blocks) {
- l.Debugf("%v recheckFile: %s: %q / %q i=%d: block index too far", m, deviceID, folder, name, blockIndex)
- return
- }
-diff --git a/lib/model/model_test.go b/lib/model/model_test.go
-index 295eafc1..456bbc4a 100644
---- a/lib/model/model_test.go
-+++ b/lib/model/model_test.go
-@@ -3608,6 +3608,32 @@ func TestIssue4903(t *testing.T) {
- }
- }
-
-+func TestIssue5002(t *testing.T) {
-+ // recheckFile should not panic when given an index equal to the number of blocks
-+
-+ db := db.OpenMemory()
-+ m := NewModel(defaultCfgWrapper, protocol.LocalDeviceID, "syncthing", "dev", db, nil)
-+ m.AddFolder(defaultFolderConfig)
-+ m.StartFolder("default")
-+
-+ m.ServeBackground()
-+ defer m.Stop()
-+
-+ if err := m.ScanFolder("default"); err != nil {
-+ t.Error(err)
-+ }
-+
-+ file, ok := m.CurrentFolderFile("default", "foo")
-+ if !ok {
-+ t.Fatal("test file should exist")
-+ }
-+ nBlocks := len(file.Blocks)
-+
-+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks-1, []byte{1, 2, 3, 4})
-+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks, []byte{1, 2, 3, 4}) // panic
-+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks+1, []byte{1, 2, 3, 4})
-+}
-+
- func addFakeConn(m *Model, dev protocol.DeviceID) *fakeConnection {
- fc := &fakeConnection{id: dev, model: m}
- m.AddConnection(fc, protocol.HelloResult{})
---
-2.18.0
-