[PATCH 1/8] reg: Add system error printing function

Stefan Dösinger stefandoesinger at gmail.com
Fri Nov 7 05:38:02 CST 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 2014-11-06 22:17, schrieb Jonathan Vollebregt:
> +static int reg_print_error(LSTATUS error_code)
As mentioned yesterday this doesn't need a return value.

> +            FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL,
> +                error_code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (WCHAR *)&message, 0, NULL);
> +
> +            reg_message(STRING_ERROR);
> +            reg_printfW(error_string, error_code, message);
> +            HeapFree(GetProcessHeap(), 0, message);
http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351(v=vs.85).aspx says FormatMessage uses LocalAlloc to allocate the buffer. You need to free it with LocalFree.

I don't know if we have any rule for checking the return value for FormatMessage here. You are already in an error printing codepath, and if you print an error every time printing an error fails you'll never stop. Otoh it seems questionable not to check the return value.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJUXK8aAAoJEN0/YqbEcdMwxuoP/RGyxXJoVN5h8Quj3L5HFGb+
Fg3xah51LzRJzQFirZ7yF13OVoZiGg7om4eAlo/eSAy1Ae/jzGxodg7PKEU7DXX/
3s2TYE9TrkPJClt2hFq1asGoAI1uezNDJybwSXBxEgRAkUzBBhBh+9XEKffZz3iE
OWpyHyCOQBwHPBq3krLP+joADngT13UfEvvrccNobvYb47WMBddJ70UdD+sYeF/i
fbbYMdnhIKowbe26xCVwSDN5huXMq1f9zYuqkJwL6BRmkgD5FiwYdo8zXu2BvpEq
ZkFwxUjCXFRJ7nwLAly5lNSCA1MMFD/Whwd5PxbMmVCwWK3nhqknxQdJJJIy95vd
e2JeSwk/4ELavjXubMGAH5D7QfTnveO/ji/kZCWB2buN30ht5ORRH6bjupL/zIr4
hhh4HJ/6EdHhWJfffenmM9uGxN8zNO6HmVSHVnXn90QnSousjuNkFymfr9RkWycr
kmjPJQw8inoEl0zmeMiDdu+Kxo9MHX7SAwAHi9OzYeU2aka8LTOASn0mmKM+GBeO
9uaJbQAa/ILzWkFaYY/C+lgnyJgjgY6+fFj1O+DFlXh4DnaZ1DXMrn4+3WrUDWQk
3cFD0/6ehVBuUouEY8dF0yDiWPO9cwTEe7S5G9u03rS72H6mRfRP8mJVI6ZVPwbU
7wj5TGWDXCcDiRHd46UI
=abxe
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list