Index: third_party/sqlite/fuzz/sql.dict |
diff --git a/third_party/sqlite/fuzz/sql.dict b/third_party/sqlite/fuzz/sql.dict |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bf522cc45cf974e9c3cf6b55fd34a0a0b79da7b5 |
--- /dev/null |
+++ b/third_party/sqlite/fuzz/sql.dict |
@@ -0,0 +1,282 @@ |
+# |
+# AFL dictionary for SQL |
+# ---------------------- |
+# |
+# Modeled based on SQLite documentation, contains some number of SQLite |
+# extensions. Other dialects of SQL may benefit from customized dictionaries. |
+# |
+# If you append @1 to the file name when loading this dictionary, afl-fuzz |
+# will also additionally load a selection of pragma keywords that are very |
+# specific to SQLite (and are probably less interesting from the security |
+# standpoint, because they are usually not allowed in non-privileged |
+# contexts). |
+# |
+# Created by Michal Zalewski <lcamtuf@google.com> |
+# |
+ |
+function_abs=" abs(1)" |
+function_avg=" avg(1)" |
+function_changes=" changes()" |
+function_char=" char(1)" |
+function_coalesce=" coalesce(1,1)" |
+function_count=" count(1)" |
+function_date=" date(1,1,1)" |
+function_datetime=" datetime(1,1,1)" |
+function_decimal=" decimal(1,1)" |
+function_glob=" glob(1,1)" |
+function_group_concat=" group_concat(1,1)" |
+function_hex=" hex(1)" |
+function_ifnull=" ifnull(1,1)" |
+function_instr=" instr(1,1)" |
+function_julianday=" julianday(1,1,1)" |
+function_last_insert_rowid=" last_insert_rowid()" |
+function_length=" length(1)" |
+function_like=" like(1,1)" |
+function_likelihood=" likelihood(1,1)" |
+function_likely=" likely(1)" |
+function_load_extension=" load_extension(1,1)" |
+function_lower=" lower(1)" |
+function_ltrim=" ltrim(1,1)" |
+function_max=" max(1,1)" |
+function_min=" min(1,1)" |
+function_nullif=" nullif(1,1)" |
+function_printf=" printf(1,1)" |
+function_quote=" quote(1)" |
+function_random=" random()" |
+function_randomblob=" randomblob(1)" |
+function_replace=" replace(1,1,1)" |
+function_round=" round(1,1)" |
+function_rtrim=" rtrim(1,1)" |
+function_soundex=" soundex(1)" |
+function_sqlite_compileoption_get=" sqlite_compileoption_get(1)" |
+function_sqlite_compileoption_used=" sqlite_compileoption_used(1)" |
+function_sqlite_source_id=" sqlite_source_id()" |
+function_sqlite_version=" sqlite_version()" |
+function_strftime=" strftime(1,1,1,1)" |
+function_substr=" substr(1,1,1)" |
+function_sum=" sum(1)" |
+function_time=" time(1,1,1)" |
+function_total=" total(1)" |
+function_total_changes=" total_changes()" |
+function_trim=" trim(1,1)" |
+function_typeof=" typeof(1)" |
+function_unicode=" unicode(1)" |
+function_unlikely=" unlikely(1)" |
+function_upper=" upper(1)" |
+function_varchar=" varchar(1)" |
+function_zeroblob=" zeroblob(1)" |
+ |
+keyword_ABORT="ABORT" |
+keyword_ACTION="ACTION" |
+keyword_ADD="ADD" |
+keyword_AFTER="AFTER" |
+keyword_ALL="ALL" |
+keyword_ALTER="ALTER" |
+keyword_ANALYZE="ANALYZE" |
+keyword_AND="AND" |
+keyword_AS="AS" |
+keyword_ASC="ASC" |
+keyword_ATTACH="ATTACH" |
+keyword_AUTOINCREMENT="AUTOINCREMENT" |
+keyword_BEFORE="BEFORE" |
+keyword_BEGIN="BEGIN" |
+keyword_BETWEEN="BETWEEN" |
+keyword_BY="BY" |
+keyword_CASCADE="CASCADE" |
+keyword_CASE="CASE" |
+keyword_CAST="CAST" |
+keyword_CHECK="CHECK" |
+keyword_COLLATE="COLLATE" |
+keyword_COLUMN="COLUMN" |
+keyword_COMMIT="COMMIT" |
+keyword_CONFLICT="CONFLICT" |
+keyword_CONSTRAINT="CONSTRAINT" |
+keyword_CREATE="CREATE" |
+keyword_CROSS="CROSS" |
+keyword_CURRENT_DATE="CURRENT_DATE" |
+keyword_CURRENT_TIME="CURRENT_TIME" |
+keyword_CURRENT_TIMESTAMP="CURRENT_TIMESTAMP" |
+keyword_DATABASE="DATABASE" |
+keyword_DEFAULT="DEFAULT" |
+keyword_DEFERRABLE="DEFERRABLE" |
+keyword_DEFERRED="DEFERRED" |
+keyword_DELETE="DELETE" |
+keyword_DESC="DESC" |
+keyword_DETACH="DETACH" |
+keyword_DISTINCT="DISTINCT" |
+keyword_DROP="DROP" |
+keyword_EACH="EACH" |
+keyword_ELSE="ELSE" |
+keyword_END="END" |
+keyword_ESCAPE="ESCAPE" |
+keyword_EXCEPT="EXCEPT" |
+keyword_EXCLUSIVE="EXCLUSIVE" |
+keyword_EXISTS="EXISTS" |
+keyword_EXPLAIN="EXPLAIN" |
+keyword_FAIL="FAIL" |
+keyword_FOR="FOR" |
+keyword_FOREIGN="FOREIGN" |
+keyword_FROM="FROM" |
+keyword_FULL="FULL" |
+keyword_GLOB="GLOB" |
+keyword_GROUP="GROUP" |
+keyword_HAVING="HAVING" |
+keyword_IF="IF" |
+keyword_IGNORE="IGNORE" |
+keyword_IMMEDIATE="IMMEDIATE" |
+keyword_IN="IN" |
+keyword_INDEX="INDEX" |
+keyword_INDEXED="INDEXED" |
+keyword_INITIALLY="INITIALLY" |
+keyword_INNER="INNER" |
+keyword_INSERT="INSERT" |
+keyword_INSTEAD="INSTEAD" |
+keyword_INTERSECT="INTERSECT" |
+keyword_INTO="INTO" |
+keyword_IS="IS" |
+keyword_ISNULL="ISNULL" |
+keyword_JOIN="JOIN" |
+keyword_KEY="KEY" |
+keyword_LEFT="LEFT" |
+keyword_LIKE="LIKE" |
+keyword_LIMIT="LIMIT" |
+keyword_MATCH="MATCH" |
+keyword_NATURAL="NATURAL" |
+keyword_NO="NO" |
+keyword_NOT="NOT" |
+keyword_NOTNULL="NOTNULL" |
+keyword_NULL="NULL" |
+keyword_OF="OF" |
+keyword_OFFSET="OFFSET" |
+keyword_ON="ON" |
+keyword_OR="OR" |
+keyword_ORDER="ORDER" |
+keyword_OUTER="OUTER" |
+keyword_PLAN="PLAN" |
+keyword_PRAGMA="PRAGMA" |
+keyword_PRIMARY="PRIMARY" |
+keyword_QUERY="QUERY" |
+keyword_RAISE="RAISE" |
+keyword_RECURSIVE="RECURSIVE" |
+keyword_REFERENCES="REFERENCES" |
+#keyword_REGEXP="REGEXP" |
+keyword_REINDEX="REINDEX" |
+keyword_RELEASE="RELEASE" |
+keyword_RENAME="RENAME" |
+keyword_REPLACE="REPLACE" |
+keyword_RESTRICT="RESTRICT" |
+keyword_RIGHT="RIGHT" |
+keyword_ROLLBACK="ROLLBACK" |
+keyword_ROW="ROW" |
+keyword_SAVEPOINT="SAVEPOINT" |
+keyword_SELECT="SELECT" |
+keyword_SET="SET" |
+keyword_TABLE="TABLE" |
+keyword_TEMP="TEMP" |
+keyword_TEMPORARY="TEMPORARY" |
+keyword_THEN="THEN" |
+keyword_TO="TO" |
+keyword_TRANSACTION="TRANSACTION" |
+keyword_TRIGGER="TRIGGER" |
+keyword_UNION="UNION" |
+keyword_UNIQUE="UNIQUE" |
+keyword_UPDATE="UPDATE" |
+keyword_USING="USING" |
+keyword_VACUUM="VACUUM" |
+keyword_VALUES="VALUES" |
+keyword_VIEW="VIEW" |
+keyword_VIRTUAL="VIRTUAL" |
+keyword_WHEN="WHEN" |
+keyword_WHERE="WHERE" |
+keyword_WITH="WITH" |
+keyword_WITHOUT="WITHOUT" |
+ |
+operator_concat=" || " |
+operator_ebove_eq=" >=" |
+ |
+snippet_1eq1=" 1=1" |
+snippet_at=" @1" |
+snippet_backticks=" `a`" |
+snippet_blob=" blob" |
+snippet_brackets=" [a]" |
+snippet_colon=" :1" |
+snippet_comment=" /* */" |
+snippet_date="2001-01-01" |
+snippet_dollar=" $1" |
+snippet_dotref=" a.b" |
+snippet_fmtY="%Y" |
+snippet_int=" int" |
+snippet_neg1=" -1" |
+snippet_pair=" a,b" |
+snippet_parentheses=" (1)" |
+snippet_plus2days="+2 days" |
+snippet_qmark=" ?1" |
+snippet_semicolon=" ;" |
+snippet_star=" *" |
+snippet_string_pair=" \"a\",\"b\"" |
+ |
+string_dbl_q=" \"a\"" |
+string_escaped_q=" 'a''b'" |
+string_single_q=" 'a'" |
+ |
+pragma_application_id@1=" application_id" |
+pragma_auto_vacuum@1=" auto_vacuum" |
+pragma_automatic_index@1=" automatic_index" |
+pragma_busy_timeout@1=" busy_timeout" |
+pragma_cache_size@1=" cache_size" |
+pragma_cache_spill@1=" cache_spill" |
+pragma_case_sensitive_like@1=" case_sensitive_like" |
+pragma_checkpoint_fullfsync@1=" checkpoint_fullfsync" |
+pragma_collation_list@1=" collation_list" |
+pragma_compile_options@1=" compile_options" |
+pragma_count_changes@1=" count_changes" |
+pragma_data_store_directory@1=" data_store_directory" |
+pragma_database_list@1=" database_list" |
+pragma_default_cache_size@1=" default_cache_size" |
+pragma_defer_foreign_keys@1=" defer_foreign_keys" |
+pragma_empty_result_callbacks@1=" empty_result_callbacks" |
+pragma_encoding@1=" encoding" |
+pragma_foreign_key_check@1=" foreign_key_check" |
+pragma_foreign_key_list@1=" foreign_key_list" |
+pragma_foreign_keys@1=" foreign_keys" |
+pragma_freelist_count@1=" freelist_count" |
+pragma_full_column_names@1=" full_column_names" |
+pragma_fullfsync@1=" fullfsync" |
+pragma_ignore_check_constraints@1=" ignore_check_constraints" |
+pragma_incremental_vacuum@1=" incremental_vacuum" |
+pragma_index_info@1=" index_info" |
+pragma_index_list@1=" index_list" |
+pragma_integrity_check@1=" integrity_check" |
+pragma_journal_mode@1=" journal_mode" |
+pragma_journal_size_limit@1=" journal_size_limit" |
+pragma_legacy_file_format@1=" legacy_file_format" |
+pragma_locking_mode@1=" locking_mode" |
+pragma_max_page_count@1=" max_page_count" |
+pragma_mmap_size@1=" mmap_size" |
+pragma_page_count@1=" page_count" |
+pragma_page_size@1=" page_size" |
+pragma_parser_trace@1=" parser_trace" |
+pragma_query_only@1=" query_only" |
+pragma_quick_check@1=" quick_check" |
+pragma_read_uncommitted@1=" read_uncommitted" |
+pragma_recursive_triggers@1=" recursive_triggers" |
+pragma_reverse_unordered_selects@1=" reverse_unordered_selects" |
+pragma_schema_version@1=" schema_version" |
+pragma_secure_delete@1=" secure_delete" |
+pragma_short_column_names@1=" short_column_names" |
+pragma_shrink_memory@1=" shrink_memory" |
+pragma_soft_heap_limit@1=" soft_heap_limit" |
+pragma_stats@1=" stats" |
+pragma_synchronous@1=" synchronous" |
+pragma_table_info@1=" table_info" |
+pragma_temp_store@1=" temp_store" |
+pragma_temp_store_directory@1=" temp_store_directory" |
+pragma_threads@1=" threads" |
+pragma_user_version@1=" user_version" |
+pragma_vdbe_addoptrace@1=" vdbe_addoptrace" |
+pragma_vdbe_debug@1=" vdbe_debug" |
+pragma_vdbe_listing@1=" vdbe_listing" |
+pragma_vdbe_trace@1=" vdbe_trace" |
+pragma_wal_autocheckpoint@1=" wal_autocheckpoint" |
+pragma_wal_checkpoint@1=" wal_checkpoint" |
+pragma_writable_schema@1=" writable_schema" |