Hello.
I use sql plugin with sqlite backend. Relevant config piece:

pwcheck_method: auxprop
auxprop_plugin: sql
sql_engine: sqlite
sql_database: my.db
sql_select: SELECT pwd FROM users WHERE login = '%u'
sql_verbose: yes

I got SEGFAULTs on user with unknown login authorisation attempts.
I've found sql_auxprop_lookup() using 'value' and (most important)
'value_len' without previous initialization. Sqlite backend does not
change value_len if nothing was read from db. So we get
utils->prop_set() accessing random memory. If we are lucky, it's
within allocated 8192 bytes of 'value', but it's garbage. If we are
more lucky, we see SEGFAULTs and discover a bug.

Proposed patch (see attachment) initializes 'value' and 'value_len'
with zeroes. It works for me.

Attachment: sql-plugin-fix-crash-on-unknown-user
Description: Binary data

Reply via email to