diff options
author | Jeremy Allison <jra@samba.org> | 2017-04-11 15:51:17 -0700 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2017-04-18 11:47:17 +0200 |
commit | 766e9ff05e0689b0c0284e33e044a363ed4a4709 (patch) | |
tree | 87a06cde34edca4bf01c01b0c7e72d4face7ea14 /lib/param | |
parent | 6086b0e5a2ca03ba3a3c16cae2a0fe79605f5a6a (diff) | |
download | samba-766e9ff05e0689b0c0284e33e044a363ed4a4709.tar.gz |
lib: param: Use utility functions to get rid of two more uses of global_iconv_handle.
Add error return checking.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'lib/param')
-rw-r--r-- | lib/param/loadparm.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 5f9d52b2bd7..5b5543c4a2a 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -1265,11 +1265,14 @@ bool handle_charset(struct loadparm_context *lp_ctx, struct loadparm_service *se { if (lp_ctx->s3_fns) { if (*ptr == NULL || strcmp(*ptr, pszParmValue) != 0) { - global_iconv_handle = - smb_iconv_handle_reinit(NULL, - lpcfg_dos_charset(lp_ctx), - lpcfg_unix_charset(lp_ctx), - true, global_iconv_handle); + struct smb_iconv_handle *ret = NULL; + + ret = reinit_iconv_handle(NULL, + lpcfg_dos_charset(lp_ctx), + lpcfg_unix_charset(lp_ctx)); + if (ret == NULL) { + smb_panic("reinit_iconv_handle failed"); + } } } @@ -1304,16 +1307,19 @@ bool handle_dos_charset(struct loadparm_context *lp_ctx, struct loadparm_service } if (*ptr == NULL || strcmp(*ptr, pszParmValue) != 0) { + struct smb_iconv_handle *ret = NULL; if (is_utf8) { DEBUG(0,("ERROR: invalid DOS charset: 'dos charset' must not " "be UTF8, using (default value) %s instead.\n", DEFAULT_DOS_CHARSET)); pszParmValue = DEFAULT_DOS_CHARSET; } - global_iconv_handle = smb_iconv_handle_reinit(NULL, - lpcfg_dos_charset(lp_ctx), - lpcfg_unix_charset(lp_ctx), - true, global_iconv_handle); + ret = reinit_iconv_handle(NULL, + lpcfg_dos_charset(lp_ctx), + lpcfg_unix_charset(lp_ctx)); + if (ret == NULL) { + smb_panic("reinit_iconv_handle failed"); + } } } |