Diff
Not logged in

Differences From:

File src/vfile.c part of check-in [8c828207a2] - Give an error if an attempt is made to merge, update, or checkout against an incomplete baseline - one that contains phantoms. Update the xfer protocol to converge on a stable synchronization faster and (hopeful) not quit until the sync is complete. by drh on 2007-08-27 00:04:32. Also file src/vfile.c part of check-in [15652ff081] - Merged drh's fixes new features (xfer, timeline handling, javascript based timeline highlighting) into my branch. by aku on 2007-08-29 02:55:33. [view]

To:

File src/vfile.c part of check-in [1871a93dd4] - Fix bugs that can cause a segfault if a blank check-in comment is entered. by drh on 2007-08-30 18:05:19. [view]

@@ -385,13 +385,16 @@
   Blob file, mfile;
   Manifest m;
   char zBuf[100];
 
+  blob_zero(pOut);
+  if( pManOut ){
+    blob_zero(pManOut);
+  }
   db_must_be_within_tree();
   content_get(vid, &mfile);
   if( manifest_parse(&m, &mfile)==0 ){
-    blob_zero(pOut);
-    return;
+    fossil_panic("manifest file (%d) is malformed", vid);
   }
   for(i=0; i<m.nFile; i++){
     fid = uuid_to_rid(m.aFile[i].zUuid, 0);
     md5sum_step_text(m.aFile[i].zName, -1);
@@ -401,9 +404,8 @@
     md5sum_step_blob(&file);
     blob_reset(&file);
   }
   if( pManOut ){
-    blob_zero(pManOut);
     blob_append(pManOut, m.zRepoCksum, -1);
   }
   manifest_clear(&m);
   md5sum_finish(pOut);