Fossil SCM

Fix a segfault that can occur if a corrupt delta gets into the archive.

drh 2010-06-21 19:28 trunk
Commit b9a744e1c4d842a289a9cb350085ca4935633e83
1 file changed +1
--- src/deltacmd.c
+++ src/deltacmd.c
@@ -85,10 +85,11 @@
8585
int len, n;
8686
Blob out;
8787
8888
n = delta_output_size(blob_buffer(pDelta), blob_size(pDelta));
8989
blob_zero(&out);
90
+ if( n<0 ) return -1;
9091
blob_resize(&out, n);
9192
len = delta_apply(
9293
blob_buffer(pOriginal), blob_size(pOriginal),
9394
blob_buffer(pDelta), blob_size(pDelta),
9495
blob_buffer(&out));
9596
--- src/deltacmd.c
+++ src/deltacmd.c
@@ -85,10 +85,11 @@
85 int len, n;
86 Blob out;
87
88 n = delta_output_size(blob_buffer(pDelta), blob_size(pDelta));
89 blob_zero(&out);
 
90 blob_resize(&out, n);
91 len = delta_apply(
92 blob_buffer(pOriginal), blob_size(pOriginal),
93 blob_buffer(pDelta), blob_size(pDelta),
94 blob_buffer(&out));
95
--- src/deltacmd.c
+++ src/deltacmd.c
@@ -85,10 +85,11 @@
85 int len, n;
86 Blob out;
87
88 n = delta_output_size(blob_buffer(pDelta), blob_size(pDelta));
89 blob_zero(&out);
90 if( n<0 ) return -1;
91 blob_resize(&out, n);
92 len = delta_apply(
93 blob_buffer(pOriginal), blob_size(pOriginal),
94 blob_buffer(pDelta), blob_size(pDelta),
95 blob_buffer(&out));
96

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button