Skip to content

Commit 7349bf9

Browse files
committed
[mod_webdav] disable double-quoted string literal
disable the sqlite3 legacy [double-quoted string literal] misfeature for DML and DDL statements
1 parent 01b1b3f commit 7349bf9

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/mod_webdav.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,9 +1349,9 @@ mod_webdav_sqlite3_init (const char * const restrict dbname,
13491349
/* add ownerinfo column to locks table (update older mod_webdav sqlite db)
13501350
* (could check if 'PRAGMA user_version;' is 0, add column, and increment)*/
13511351
#define MOD_WEBDAV_SQLITE_SELECT_LOCKS_OWNERINFO_TEST \
1352-
"SELECT COUNT(*) FROM locks WHERE ownerinfo = \"\""
1352+
"SELECT COUNT(*) FROM locks WHERE ownerinfo = ''"
13531353
#define MOD_WEBDAV_SQLITE_ALTER_TABLE_LOCKS \
1354-
"ALTER TABLE locks ADD COLUMN ownerinfo TEXT NOT NULL DEFAULT \"\""
1354+
"ALTER TABLE locks ADD COLUMN ownerinfo TEXT NOT NULL DEFAULT ''"
13551355
if (sqlite3_exec(sqlh, MOD_WEBDAV_SQLITE_SELECT_LOCKS_OWNERINFO_TEST,
13561356
NULL, NULL, &err) != SQLITE_OK) {
13571357
sqlite3_free(err); /* "no such column: ownerinfo" */
@@ -1417,6 +1417,12 @@ mod_webdav_sqlite3_prep (sql_config * const restrict sql,
14171417
: sqlite3_errstr(sqlrc));
14181418
return 0;
14191419
}
1420+
#ifdef SQLITE_DBCONFIG_DQS_DDL
1421+
sqlite3_db_config(sql->sqlh, SQLITE_DBCONFIG_DQS_DDL, 0, NULL);
1422+
#endif
1423+
#ifdef SQLITE_DBCONFIG_DQS_DML
1424+
sqlite3_db_config(sql->sqlh, SQLITE_DBCONFIG_DQS_DML, 0, NULL);
1425+
#endif
14201426

14211427
/* future: perhaps not all statements should be prepared;
14221428
* infrequently executed statements could be run with sqlite3_exec(),

0 commit comments

Comments
 (0)