Fossil

Check-in [6831769d]
Login

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

Overview
Comment:Fix segfault when accessing the initial checkin directory on a fusefs mounted repository. This is on a branch because the Fix is on manifest_file_seek_base() function which is not only fuse-related.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | fix_fusefs_on_empty_checkin_crash
Files: files | file ages | folders
SHA3-256:6831769d629459bc274392bd5667328fb3655d2a045edf89a96ee7392823a68e
User & Date: mgagnon 2018-02-16 14:39:51
Context
2018-02-16
16:28
Fix segfault when accessing the initial checkin directory on a fusefs mounted repository. check-in: 55f6c765 user: drh tags: trunk
14:39
Fix segfault when accessing the initial checkin directory on a fusefs mounted repository. This is on a branch because the Fix is on manifest_file_seek_base() function which is not only fuse-related. Closed-Leaf check-in: 6831769d user: mgagnon tags: fix_fusefs_on_empty_checkin_crash
2018-02-13
22:26
On the Fossil repository screen list that comes up with commands like "fossil all ui", show the last modification time of each repo, and allow sorting by mtime. check-in: f2231ba6 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/manifest.c.

1265
1266
1267
1268
1269
1270
1271



1272
1273
1274
1275
1276
1277
1278
  Manifest *p,             /* Manifest to search */
  const char *zName,       /* Name of the file we are looking for */
  int bBest                /* 0: exact match only.  1: closest match */
){
  int lwr, upr;
  int c;
  int i;



  lwr = 0;
  upr = p->nFile - 1;
  if( p->iFile>=lwr && p->iFile<upr ){
    c = fossil_strcmp(p->aFile[p->iFile+1].zName, zName);
    if( c==0 ){
      return &p->aFile[++p->iFile];
    }else if( c>0 ){







>
>
>







1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
  Manifest *p,             /* Manifest to search */
  const char *zName,       /* Name of the file we are looking for */
  int bBest                /* 0: exact match only.  1: closest match */
){
  int lwr, upr;
  int c;
  int i;
  if( p->aFile==0 ){
    return 0;
  }
  lwr = 0;
  upr = p->nFile - 1;
  if( p->iFile>=lwr && p->iFile<upr ){
    c = fossil_strcmp(p->aFile[p->iFile+1].zName, zName);
    if( c==0 ){
      return &p->aFile[++p->iFile];
    }else if( c>0 ){