diff options
author | Jeremy Allison <jra@samba.org> | 2012-08-08 17:01:00 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2012-08-09 12:08:18 -0700 |
commit | b70f23c2b581c5d455362ab37f4846de9a910055 (patch) | |
tree | cf95e8d35a03d1e39d5926d2e03d7046d42cae64 /source3/param | |
parent | ce21d0804012da27cec72abe896352d7f0e7e1e5 (diff) | |
download | samba-b70f23c2b581c5d455362ab37f4846de9a910055.tar.gz samba-b70f23c2b581c5d455362ab37f4846de9a910055.tar.bz2 samba-b70f23c2b581c5d455362ab37f4846de9a910055.zip |
Correctly check for errors in strlower_m() returns.
Diffstat (limited to 'source3/param')
-rw-r--r-- | source3/param/loadparm.c | 5 | ||||
-rw-r--r-- | source3/param/service.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index d4ee8a22f2..5dcb92628c 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -1653,7 +1653,10 @@ char *canonicalize_servicename(TALLOC_CTX *ctx, const char *src) result = talloc_strdup(ctx, src); SMB_ASSERT(result != NULL); - strlower_m(result); + if (!strlower_m(result)) { + TALLOC_FREE(result); + return NULL; + } return result; } diff --git a/source3/param/service.c b/source3/param/service.c index 5f0910fe0a..85047a8e08 100644 --- a/source3/param/service.c +++ b/source3/param/service.c @@ -191,7 +191,9 @@ int find_service(TALLOC_CTX *ctx, const char *service_in, char **p_service_out) /* Is it a usershare service ? */ if (iService < 0 && *lp_usershare_path(talloc_tos())) { /* Ensure the name is canonicalized. */ - strlower_m(*p_service_out); + if (!strlower_m(*p_service_out)) { + goto fail; + } iService = load_usershare_service(*p_service_out); } |