SQLite

Check-in [1cf2136c39]
Login

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

Overview
Comment:Fix an uninitialized value read in sqlite3async.c.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 1cf2136c39239a6fea6ac2a555f55865dd517d93
User & Date: dan 2009-12-02 18:16:56.000
Context
2009-12-02
20:25
Change an error message in FTS3 to avoid using an uninitialized variable. (check-in: 620a8a2b38 user: drh tags: trunk)
18:16
Fix an uninitialized value read in sqlite3async.c. (check-in: 1cf2136c39 user: dan tags: trunk)
18:03
Fix compiler warnings in test_hexio.c. (check-in: 6a2e0725c2 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to ext/async/sqlite3async.c.
1227
1228
1229
1230
1231
1232
1233
1234
1235

1236
1237
1238
1239
1240
1241
1242

  /* Because of the way intra-process file locking works, this backend
  ** needs to return a canonical path. The following block assumes the
  ** file-system uses unix style paths. 
  */
  if( rc==SQLITE_OK ){
    int i, j;
    int n = nPathOut;
    char *z = zPathOut;

    while( n>1 && z[n-1]=='/' ){ n--; }
    for(i=j=0; i<n; i++){
      if( z[i]=='/' ){
        if( z[i+1]=='/' ) continue;
        if( z[i+1]=='.' && i+2<n && z[i+2]=='/' ){
          i += 1;
          continue;







<

>







1227
1228
1229
1230
1231
1232
1233

1234
1235
1236
1237
1238
1239
1240
1241
1242

  /* Because of the way intra-process file locking works, this backend
  ** needs to return a canonical path. The following block assumes the
  ** file-system uses unix style paths. 
  */
  if( rc==SQLITE_OK ){
    int i, j;

    char *z = zPathOut;
    int n = strlen(z);
    while( n>1 && z[n-1]=='/' ){ n--; }
    for(i=j=0; i<n; i++){
      if( z[i]=='/' ){
        if( z[i+1]=='/' ) continue;
        if( z[i+1]=='.' && i+2<n && z[i+2]=='/' ){
          i += 1;
          continue;