diff options
Diffstat (limited to 'source3/registry')
-rw-r--r-- | source3/registry/reg_backend_db.c | 4 | ||||
-rw-r--r-- | source3/registry/reg_util_internal.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c index 75ad507e2b..3e561eb389 100644 --- a/source3/registry/reg_backend_db.c +++ b/source3/registry/reg_backend_db.c @@ -561,7 +561,9 @@ static bool upgrade_v2_to_v3_check_subkeylist(struct db_context *db, }; bool success = false; char *path = talloc_asprintf(talloc_tos(), "%s\\%s", key, subkey); - strupper_m(path); + if (!strupper_m(path)) { + goto done; + } if (!dbwrap_exists(db, string_term_tdb_data(path))) { NTSTATUS status; diff --git a/source3/registry/reg_util_internal.c b/source3/registry/reg_util_internal.c index b15015b988..e256c75cb2 100644 --- a/source3/registry/reg_util_internal.c +++ b/source3/registry/reg_util_internal.c @@ -113,7 +113,10 @@ char *normalize_reg_path(TALLOC_CTX *ctx, const char *keyname ) p = strrchr(nkeyname, '\\'); } - strupper_m(nkeyname); + if (!strupper_m(nkeyname)) { + TALLOC_FREE(nkeyname); + return NULL; + } return nkeyname; } |