diff options
author | Jeremy Allison <jra@samba.org> | 2007-10-15 16:12:01 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2007-10-15 16:12:01 -0700 |
commit | b851ff28f9982d544e4385905e448665a3a05d7f (patch) | |
tree | b2ea90cd73aafb17d1ed5eae7d3ca22b0e2432ad | |
parent | 666f50b01f282e520c59b94944d4b1583168d46a (diff) | |
parent | d76717fe150846cb90af58ac1c6e007aeced3df1 (diff) | |
download | samba-b851ff28f9982d544e4385905e448665a3a05d7f.tar.gz samba-b851ff28f9982d544e4385905e448665a3a05d7f.tar.bz2 samba-b851ff28f9982d544e4385905e448665a3a05d7f.zip |
Merge branch 'v3-2-test' of ssh://jra@git.samba.org/data/git/samba into v3-2-test
(This used to be commit 5c8adce3f368d51a67d74ae168a0f59a20e1d64c)
-rw-r--r-- | source3/registry/regfio.c | 4 | ||||
-rw-r--r-- | source3/utils/profiles.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/source3/registry/regfio.c b/source3/registry/regfio.c index 6dca0ba862..93a27700b3 100644 --- a/source3/registry/regfio.c +++ b/source3/registry/regfio.c @@ -1171,6 +1171,7 @@ out: if ( !(rb->mem_ctx = talloc_init( "read_regf_block" )) ) { regfio_close( rb ); + SAFE_FREE(rb); return NULL; } @@ -1181,6 +1182,7 @@ out: if ( (rb->fd = open(filename, flags, mode)) == -1 ) { DEBUG(0,("regfio_open: failure to open %s (%s)\n", filename, strerror(errno))); regfio_close( rb ); + SAFE_FREE(rb); return NULL; } @@ -1190,6 +1192,7 @@ out: if ( !init_regf_block( rb ) ) { DEBUG(0,("regfio_open: Failed to read initial REGF block\n")); regfio_close( rb ); + SAFE_FREE(rb); return NULL; } @@ -1202,6 +1205,7 @@ out: if ( !read_regf_block( rb ) ) { DEBUG(0,("regfio_open: Failed to read initial REGF block\n")); regfio_close( rb ); + SAFE_FREE(rb); return NULL; } diff --git a/source3/utils/profiles.c b/source3/utils/profiles.c index 7c7b91adb1..921af56657 100644 --- a/source3/utils/profiles.c +++ b/source3/utils/profiles.c @@ -138,6 +138,7 @@ static BOOL copy_registry_tree( REGF_FILE *infile, REGF_NK_REC *nk, } if ( !(values = TALLOC_ZERO_P( subkeys, REGVAL_CTR )) ) { + TALLOC_FREE( subkeys ); DEBUG(0,("copy_registry_tree: talloc() failure!\n")); return False; } @@ -163,8 +164,10 @@ static BOOL copy_registry_tree( REGF_FILE *infile, REGF_NK_REC *nk, nk->subkey_index = 0; while ( (subkey = regfio_fetch_subkey( infile, nk )) ) { - if ( !copy_registry_tree( infile, subkey, key, outfile, path ) ) + if ( !copy_registry_tree( infile, subkey, key, outfile, path ) ) { + TALLOC_FREE( subkeys ); return False; + } } /* values is a talloc()'d child of subkeys here so just throw it all away */ |