mirror of
https://github.com/sqlite/sqlite.git
synced 2025-12-03 08:01:19 +03:00
Fix problems in ALTER TABLE that occur when column or table names are
invalid UTF encodings. (CVS 4000) FossilOrigin-Name: 9ff382f4584ff685a78b39f24424319709efb382
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
** COMMIT
|
||||
** ROLLBACK
|
||||
**
|
||||
** $Id: build.c,v 1.430 2007/05/12 15:00:15 drh Exp $
|
||||
** $Id: build.c,v 1.431 2007/05/15 03:56:49 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include <ctype.h>
|
||||
@@ -1562,13 +1562,16 @@ void sqlite3EndTable(
|
||||
#ifndef SQLITE_OMIT_ALTERTABLE
|
||||
if( !p->pSelect ){
|
||||
const char *zName = (const char *)pParse->sNameToken.z;
|
||||
int nName;
|
||||
int nName, i, nUtfChar;
|
||||
assert( !pSelect && pCons && pEnd );
|
||||
if( pCons->z==0 ){
|
||||
pCons = pEnd;
|
||||
}
|
||||
nName = (const char *)pCons->z - zName;
|
||||
p->addColOffset = 13 + sqlite3Utf8CharLen(zName, nName);
|
||||
for(i=nUtfChar=0; i<nName; i++){
|
||||
if( (zName[i]&0xc0)!=0x80 ) nUtfChar++;
|
||||
}
|
||||
p->addColOffset = 13 + nUtfChar;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user