[PATCH v2 2/3] windows.globalization: Implement IGlobalizationPreferencesStatics::Languages.
Jacek Caban
jacek at codeweavers.com
Thu Mar 25 16:46:52 CDT 2021
Hi Rémi,
It looks mostly good, but error handling nuances could be improved.
On 3/25/21 9:17 AM, Rémi Bernon wrote:
> +static HRESULT STDMETHODCALLTYPE hstring_vector_GetMany(IVectorView_HSTRING *iface,
> + ULONG start_index, ULONG items_size, HSTRING *items, UINT *count)
> +{
> + struct hstring_vector *impl = impl_from_IVectorView_HSTRING(iface);
> + HRESULT hr;
> + ULONG i;
> +
> + TRACE("iface %p, start_index %#x, items %p, count %p.\n", iface, start_index, items, count);
> +
> + memset(items, 0, items_size * sizeof(HSTRING *));
> +
> + for (i = start_index; i < impl->count && i < start_index + items_size; ++i)
> + if (FAILED(hr = WindowsDuplicateString(impl->values[i], items + i - start_index)))
> + return hr;
This leaks previously allocated strings in error case.
> + WindowsCreateString(locale, wcslen(locale), &hstring);
This may fail.
Thanks,
Jacek
More information about the wine-devel
mailing list