Fossil

Check-in [05389804]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Make sure the content of a manifest has been materialized and is not a copy-or-write segment of another blob prior to parsing it. Ticket [9c3e2a224b6b0055]
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 05389804886bba19776938c5350e0043a1f97239
User & Date: drh 2011-06-09 19:20:45
References
2011-06-09
19:45 Fixed ticket [9c3e2a22]: SIGSEGV on pull plus 2 other changes artifact: c865b1db user: drh
Context
2011-06-10
15:14
When creating manifest files as part of a "fossil import" command, ensure that "T" cards are added in sorted order, and that there are no duplicates. check-in: 6ed7ceb1 user: dan tags: trunk
2011-06-09
19:20
Make sure the content of a manifest has been materialized and is not a copy-or-write segment of another blob prior to parsing it. Ticket [9c3e2a224b6b0055] check-in: 05389804 user: drh tags: trunk
2011-06-07
15:51
Improvements to the "annotate" algorithm: Only search primary ancestors; ignore branchs. check-in: 621be704 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/manifest.c.

340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
  int n;
  char *zUuid;
  int sz = 0;

  /* Every control artifact ends with a '\n' character.  Exit early
  ** if that is not the case for this artifact.
  */
  z = blob_buffer(pContent);
  n = blob_size(pContent);
  if( n<=0 || z[n-1]!='\n' ){
    blob_reset(pContent);
    return 0;
  }

  /* Strip off the PGP signature if there is one.  Then verify the







|







340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
  int n;
  char *zUuid;
  int sz = 0;

  /* Every control artifact ends with a '\n' character.  Exit early
  ** if that is not the case for this artifact.
  */
  z = blob_materialize(pContent);
  n = blob_size(pContent);
  if( n<=0 || z[n-1]!='\n' ){
    blob_reset(pContent);
    return 0;
  }

  /* Strip off the PGP signature if there is one.  Then verify the