SQLite

Check-in [9034cf7efc]
Login

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

Overview
Comment:Fix the sqlite3TreeViewSelect() routine so that it works with a null pointer to the Select object.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 9034cf7efc603864f51e931c7dc4fbbc2d01904e951e78c88d4d80f9936250e8
User & Date: drh 2017-03-13 17:37:13.752
Context
2017-03-13
18:24
In the output of the ".dump" command in the CLI, quote newline and carriage-return characters using the char() function, so that they do not get eaten by end-of-line processing logic in the OS or in other command-line utilities and/or libraries. (check-in: 68f6dc7af1 user: drh tags: trunk)
17:37
Fix the sqlite3TreeViewSelect() routine so that it works with a null pointer to the Select object. (check-in: 9034cf7efc user: drh tags: trunk)
14:30
Fix a segfault that could occur following an OOM error in the flattenSubquery() routine. (check-in: c6dda3f752 user: dan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/treeview.c.
122
123
124
125
126
127
128




129
130
131
132
133
134
135

/*
** Generate a human-readable description of a Select object.
*/
void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 moreToFollow){
  int n = 0;
  int cnt = 0;




  pView = sqlite3TreeViewPush(pView, moreToFollow);
  if( p->pWith ){
    sqlite3TreeViewWith(pView, p->pWith, 1);
    cnt = 1;
    sqlite3TreeViewPush(pView, 1);
  }
  do{







>
>
>
>







122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139

/*
** Generate a human-readable description of a Select object.
*/
void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 moreToFollow){
  int n = 0;
  int cnt = 0;
  if( p==0 ){
    sqlite3TreeViewLine(pView, "nil-SELECT");
    return;
  } 
  pView = sqlite3TreeViewPush(pView, moreToFollow);
  if( p->pWith ){
    sqlite3TreeViewWith(pView, p->pWith, 1);
    cnt = 1;
    sqlite3TreeViewPush(pView, 1);
  }
  do{