1
Description: Avoid null dereference in initialize_password_db()
2
When initialize_password_db() is called with reload=True, it's assumed that
3
the free_private_data member of pdb_methods is non-null. This is not
4
necessarily the case, as the tdb backend has no private data and therefore
5
no free function. Check to see if we have private data that needs freed
7
Author: Steve Langasek <steve.langasek@ubuntu.com>
8
Bug-Ubuntu: https://bugs.launchpad.net/bugs/829221
10
Index: ubuntu/source3/passdb/pdb_interface.c
11
===================================================================
12
--- ubuntu.orig/source3/passdb/pdb_interface.c
13
+++ ubuntu/source3/passdb/pdb_interface.c
15
static struct pdb_methods *pdb = NULL;
17
if ( pdb && reload ) {
18
- pdb->free_private_data( &(pdb->private_data) );
19
+ if (pdb->private_data)
20
+ pdb->free_private_data( &(pdb->private_data) );
21
if ( !NT_STATUS_IS_OK( make_pdb_method_name( &pdb, lp_passdb_backend() ) ) ) {
23
if (asprintf(&msg, "pdb_get_methods_reload: "