SQLITE3_ENABLE_LOAD_EXTENSION(3) Library Functions Manual SQLITE3_ENABLE_LOAD_EXTENSION(3)

sqlite3_enable_load_extensionenable or disable extension loading

#include <sqlite3.h>

int
sqlite3_enable_load_extension(sqlite3 *db, int onoff);

So as not to open security holes in older applications that are unprepared to deal with extension loading, and as a means of disabling extension loading while evaluating user-entered SQL, the following API is provided to turn the () mechanism on and off.

Extension loading is off by default. Call the sqlite3_enable_load_extension() routine with onoff==1 to turn extension loading on and call it with onoff==0 to turn it back off again.

This interface enables or disables both the C-API () and the SQL function load_extension(). Use sqlite3_db_config(db,SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION,..) to enable or disable only the C-API.

Security warning: It is recommended that extension loading be enabled using the SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION method rather than this interface, so the () SQL function remains disabled. This will prevent SQL injections from giving attackers access to extension loading capabilities.

These declarations were extracted from the interface documentation at line 7180.

SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff);

sqlite3_db_config(3), sqlite3_load_extension(3), SQLITE_DBCONFIG_MAINDBNAME(3)

January 24, 2024 NetBSD 11.0