Mercurial > octave
changeset 24709:6a6108db3a6b
winqueryreg: Close registry key after use (bug #50463).
* sysdep.cc (get_regkey_value): Call RegCloseKey on registry key handle after
use.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Thu, 08 Feb 2018 19:56:18 +0100 |
parents | 75090f34ffb1 |
children | a979bb895b64 |
files | libinterp/corefcn/sysdep.cc |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/corefcn/sysdep.cc Thu Feb 08 11:27:39 2018 -0500 +++ b/libinterp/corefcn/sysdep.cc Thu Feb 08 19:56:18 2018 +0100 @@ -720,10 +720,16 @@ LONG result; HKEY h_subkey; + octave::unwind_protect frame; + result = RegOpenKeyExA (h_rootkey, subkey.c_str (), 0, KEY_READ, &h_subkey); if (result != ERROR_SUCCESS) return result; + // Cast return value to void + typedef void (*f_ptr)(HKEY); + frame.add_fcn (reinterpret_cast<f_ptr> (RegCloseKey), h_subkey); + DWORD length = 0; result = RegQueryValueExA (h_subkey, name.c_str (), nullptr, nullptr, nullptr, &length);