Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d8966584
Commit
d8966584
authored
Sep 01, 2023
by
Alex Henrie
Committed by
Alexandre Julliard
Sep 04, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
uiautomationcore: Use CRT allocation functions.
parent
f62464dd
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
99 additions
and
103 deletions
+99
-103
uia_client.c
dlls/uiautomationcore/uia_client.c
+16
-16
uia_com_client.c
dlls/uiautomationcore/uia_com_client.c
+34
-34
uia_event.c
dlls/uiautomationcore/uia_event.c
+20
-20
uia_main.c
dlls/uiautomationcore/uia_main.c
+7
-7
uia_private.h
dlls/uiautomationcore/uia_private.h
+1
-5
uia_provider.c
dlls/uiautomationcore/uia_provider.c
+10
-10
uia_utils.c
dlls/uiautomationcore/uia_utils.c
+11
-11
No files found.
dlls/uiautomationcore/uia_client.c
View file @
d8966584
...
...
@@ -39,7 +39,7 @@ static void clear_node_array(struct uia_node_array *nodes)
for
(
i
=
0
;
i
<
nodes
->
node_count
;
i
++
)
UiaNodeRelease
(
nodes
->
nodes
[
i
]);
heap_
free
(
nodes
->
nodes
);
free
(
nodes
->
nodes
);
}
memset
(
nodes
,
0
,
sizeof
(
*
nodes
));
...
...
@@ -429,7 +429,7 @@ static ULONG WINAPI uia_node_Release(IWineUiaNode *iface)
if
(
node
->
nested_node
)
uia_stop_provider_thread
();
heap_
free
(
node
);
free
(
node
);
}
return
ref
;
...
...
@@ -697,7 +697,7 @@ HRESULT clone_uia_node(HUIANODE in_node, HUIANODE *out_node)
}
}
if
(
!
(
node
=
heap_alloc_zero
(
sizeof
(
*
node
))))
if
(
!
(
node
=
calloc
(
1
,
sizeof
(
*
node
))))
return
E_OUTOFMEMORY
;
node
->
IWineUiaNode_iface
.
lpVtbl
=
&
uia_node_vtbl
;
...
...
@@ -1327,7 +1327,7 @@ static ULONG WINAPI uia_provider_Release(IWineUiaProvider *iface)
if
(
!
ref
)
{
IRawElementProviderSimple_Release
(
prov
->
elprov
);
heap_
free
(
prov
);
free
(
prov
);
}
return
ref
;
...
...
@@ -1919,7 +1919,7 @@ static const IWineUiaProviderVtbl uia_provider_vtbl = {
static
HRESULT
create_wine_uia_provider
(
struct
uia_node
*
node
,
IRawElementProviderSimple
*
elprov
,
int
prov_type
)
{
struct
uia_provider
*
prov
=
heap_alloc_zero
(
sizeof
(
*
prov
));
struct
uia_provider
*
prov
=
calloc
(
1
,
sizeof
(
*
prov
));
if
(
!
prov
)
return
E_OUTOFMEMORY
;
...
...
@@ -1967,7 +1967,7 @@ HRESULT create_uia_node_from_elprov(IRawElementProviderSimple *elprov, HUIANODE
else
prov_type
=
PROV_TYPE_MAIN
;
node
=
heap_alloc_zero
(
sizeof
(
*
node
));
node
=
calloc
(
1
,
sizeof
(
*
node
));
if
(
!
node
)
return
E_OUTOFMEMORY
;
...
...
@@ -1980,7 +1980,7 @@ HRESULT create_uia_node_from_elprov(IRawElementProviderSimple *elprov, HUIANODE
hr
=
create_wine_uia_provider
(
node
,
elprov
,
prov_type
);
if
(
FAILED
(
hr
))
{
heap_
free
(
node
);
free
(
node
);
return
hr
;
}
...
...
@@ -2222,7 +2222,7 @@ static ULONG WINAPI uia_nested_node_provider_Release(IWineUiaProvider *iface)
{
IWineUiaNode_Release
(
prov
->
nested_node
);
uia_stop_client_thread
();
heap_
free
(
prov
);
free
(
prov
);
}
return
ref
;
...
...
@@ -2447,7 +2447,7 @@ static HRESULT create_wine_uia_nested_node_provider(struct uia_node *node, LRESU
}
else
{
prov
=
heap_alloc_zero
(
sizeof
(
*
prov
));
prov
=
calloc
(
1
,
sizeof
(
*
prov
));
if
(
!
prov
)
return
E_OUTOFMEMORY
;
...
...
@@ -2493,7 +2493,7 @@ HRESULT uia_node_from_lresult(LRESULT lr, HUIANODE *huianode)
HRESULT
hr
;
*
huianode
=
NULL
;
node
=
heap_alloc_zero
(
sizeof
(
*
node
));
node
=
calloc
(
1
,
sizeof
(
*
node
));
if
(
!
node
)
return
E_OUTOFMEMORY
;
...
...
@@ -2506,7 +2506,7 @@ HRESULT uia_node_from_lresult(LRESULT lr, HUIANODE *huianode)
hr
=
create_wine_uia_nested_node_provider
(
node
,
lr
,
FALSE
);
if
(
FAILED
(
hr
))
{
heap_
free
(
node
);
free
(
node
);
return
hr
;
}
...
...
@@ -2577,7 +2577,7 @@ HRESULT WINAPI UiaNodeFromHandle(HWND hwnd, HUIANODE *huianode)
if
(
!
IsWindow
(
hwnd
))
return
UIA_E_ELEMENTNOTAVAILABLE
;
node
=
heap_alloc_zero
(
sizeof
(
*
node
));
node
=
calloc
(
1
,
sizeof
(
*
node
));
if
(
!
node
)
return
E_OUTOFMEMORY
;
...
...
@@ -2590,7 +2590,7 @@ HRESULT WINAPI UiaNodeFromHandle(HWND hwnd, HUIANODE *huianode)
hr
=
uia_get_providers_for_hwnd
(
node
);
if
(
FAILED
(
hr
))
{
heap_
free
(
node
);
free
(
node
);
return
hr
;
}
...
...
@@ -3515,7 +3515,7 @@ HRESULT WINAPI UiaFind(HUIANODE huianode, struct UiaFindParams *find_params, str
goto
exit
;
}
if
(
!
(
tmp_reqs
=
heap_alloc_zero
(
sizeof
(
*
tmp_reqs
)
*
nodes
.
node_count
)))
if
(
!
(
tmp_reqs
=
calloc
(
nodes
.
node_count
,
sizeof
(
*
tmp_reqs
)
)))
{
hr
=
E_OUTOFMEMORY
;
goto
exit
;
...
...
@@ -3555,7 +3555,7 @@ HRESULT WINAPI UiaFind(HUIANODE huianode, struct UiaFindParams *find_params, str
if
(
nodes
.
node_count
==
1
)
{
req
=
tmp_reqs
[
0
];
heap_
free
(
tmp_reqs
);
free
(
tmp_reqs
);
tmp_reqs
=
NULL
;
}
else
...
...
@@ -3586,7 +3586,7 @@ exit:
{
for
(
i
=
0
;
i
<
nodes
.
node_count
;
i
++
)
SafeArrayDestroy
(
tmp_reqs
[
i
]);
heap_
free
(
tmp_reqs
);
free
(
tmp_reqs
);
}
if
(
FAILED
(
hr
))
...
...
dlls/uiautomationcore/uia_com_client.c
View file @
d8966584
...
...
@@ -84,9 +84,9 @@ static ULONG WINAPI uia_or_condition_Release(IUIAutomationOrCondition *iface)
}
}
heap_
free
(
uia_or_condition
->
child_ifaces
);
heap_
free
(
uia_or_condition
->
condition
.
ppConditions
);
heap_
free
(
uia_or_condition
);
free
(
uia_or_condition
->
child_ifaces
);
free
(
uia_or_condition
->
condition
.
ppConditions
);
free
(
uia_or_condition
);
}
return
ref
;
...
...
@@ -164,21 +164,21 @@ static HRESULT create_uia_or_condition_iface(IUIAutomationCondition **out_cond,
*
out_cond
=
NULL
;
uia_or_condition
=
heap_alloc_zero
(
sizeof
(
*
uia_or_condition
));
uia_or_condition
=
calloc
(
1
,
sizeof
(
*
uia_or_condition
));
if
(
!
uia_or_condition
)
return
E_OUTOFMEMORY
;
uia_or_condition
->
IUIAutomationOrCondition_iface
.
lpVtbl
=
&
uia_or_condition_vtbl
;
uia_or_condition
->
ref
=
1
;
uia_or_condition
->
child_ifaces
=
heap_alloc_zero
(
sizeof
(
*
in_conds
)
*
in_cond_count
);
uia_or_condition
->
child_ifaces
=
calloc
(
in_cond_count
,
sizeof
(
*
in_conds
)
);
if
(
!
uia_or_condition
->
child_ifaces
)
{
IUIAutomationOrCondition_Release
(
&
uia_or_condition
->
IUIAutomationOrCondition_iface
);
return
E_OUTOFMEMORY
;
}
uia_or_condition
->
condition
.
ppConditions
=
heap_alloc_zero
(
sizeof
(
*
uia_or_condition
->
condition
.
ppConditions
)
*
in_cond_count
);
uia_or_condition
->
condition
.
ppConditions
=
calloc
(
in_cond_count
,
sizeof
(
*
uia_or_condition
->
condition
.
ppConditions
)
);
if
(
!
uia_or_condition
->
condition
.
ppConditions
)
{
IUIAutomationOrCondition_Release
(
&
uia_or_condition
->
IUIAutomationOrCondition_iface
);
...
...
@@ -253,7 +253,7 @@ static ULONG WINAPI uia_not_condition_Release(IUIAutomationNotCondition *iface)
if
(
!
ref
)
{
IUIAutomationCondition_Release
(
uia_not_condition
->
child_iface
);
heap_
free
(
uia_not_condition
);
free
(
uia_not_condition
);
}
return
ref
;
...
...
@@ -295,7 +295,7 @@ static HRESULT create_uia_not_condition_iface(IUIAutomationCondition **out_cond,
if
(
FAILED
(
hr
))
return
hr
;
uia_not_condition
=
heap_alloc_zero
(
sizeof
(
*
uia_not_condition
));
uia_not_condition
=
calloc
(
1
,
sizeof
(
*
uia_not_condition
));
if
(
!
uia_not_condition
)
return
E_OUTOFMEMORY
;
...
...
@@ -357,7 +357,7 @@ static ULONG WINAPI uia_property_condition_Release(IUIAutomationPropertyConditio
if
(
!
ref
)
{
VariantClear
(
&
uia_property_condition
->
condition
.
Value
);
heap_
free
(
uia_property_condition
);
free
(
uia_property_condition
);
}
return
ref
;
...
...
@@ -445,7 +445,7 @@ static HRESULT create_uia_property_condition_iface(IUIAutomationCondition **out_
return
E_NOTIMPL
;
}
uia_property_condition
=
heap_alloc_zero
(
sizeof
(
*
uia_property_condition
));
uia_property_condition
=
calloc
(
1
,
sizeof
(
*
uia_property_condition
));
if
(
!
uia_property_condition
)
return
E_OUTOFMEMORY
;
...
...
@@ -504,7 +504,7 @@ static ULONG WINAPI uia_bool_condition_Release(IUIAutomationBoolCondition *iface
TRACE
(
"%p, refcount %ld
\n
"
,
uia_bool_condition
,
ref
);
if
(
!
ref
)
heap_
free
(
uia_bool_condition
);
free
(
uia_bool_condition
);
return
ref
;
}
...
...
@@ -540,7 +540,7 @@ static HRESULT create_uia_bool_condition_iface(IUIAutomationCondition **out_cond
if
(
!
out_cond
)
return
E_POINTER
;
uia_bool_condition
=
heap_alloc_zero
(
sizeof
(
*
uia_bool_condition
));
uia_bool_condition
=
calloc
(
1
,
sizeof
(
*
uia_bool_condition
));
if
(
!
uia_bool_condition
)
return
E_OUTOFMEMORY
;
...
...
@@ -673,8 +673,8 @@ static ULONG WINAPI uia_cache_request_Release(IUIAutomationCacheRequest *iface)
if
(
!
ref
)
{
IUIAutomationCondition_Release
(
uia_cache_request
->
view_condition
);
heap_
free
(
uia_cache_request
->
prop_ids
);
heap_
free
(
uia_cache_request
);
free
(
uia_cache_request
->
prop_ids
);
free
(
uia_cache_request
);
}
return
ref
;
...
...
@@ -861,7 +861,7 @@ static HRESULT create_uia_cache_request_iface(IUIAutomationCacheRequest **out_ca
if
(
FAILED
(
hr
))
return
hr
;
uia_cache_request
=
heap_alloc_zero
(
sizeof
(
*
uia_cache_request
));
uia_cache_request
=
calloc
(
1
,
sizeof
(
*
uia_cache_request
));
if
(
!
uia_cache_request
)
{
IUIAutomationCondition_Release
(
view_condition
);
...
...
@@ -975,7 +975,7 @@ static HRESULT uia_event_handlers_add_handler(IUnknown *handler_iface, SAFEARRAY
event_map
=
RB_ENTRY_VALUE
(
rb_entry
,
struct
uia_event_handler_map_entry
,
entry
);
else
{
if
(
!
(
event_map
=
heap_alloc_zero
(
sizeof
(
*
event_map
))))
if
(
!
(
event_map
=
calloc
(
1
,
sizeof
(
*
event_map
))))
{
hr
=
E_OUTOFMEMORY
;
goto
exit
;
...
...
@@ -984,7 +984,7 @@ static HRESULT uia_event_handlers_add_handler(IUnknown *handler_iface, SAFEARRAY
hr
=
SafeArrayCopy
(
runtime_id
,
&
event_map
->
runtime_id
);
if
(
FAILED
(
hr
))
{
heap_
free
(
event_map
);
free
(
event_map
);
goto
exit
;
}
...
...
@@ -1013,7 +1013,7 @@ static void uia_event_handler_destroy(struct uia_com_event *event)
UiaRemoveEvent
(
event
->
event
);
if
(
event
->
git_cookie
)
unregister_interface_in_git
(
event
->
git_cookie
);
heap_
free
(
event
);
free
(
event
);
}
static
void
uia_event_handler_map_entry_destroy
(
struct
uia_event_handler_map_entry
*
entry
)
...
...
@@ -1029,7 +1029,7 @@ static void uia_event_handler_map_entry_destroy(struct uia_event_handler_map_ent
rb_remove
(
&
com_event_handlers
.
handler_map
,
&
entry
->
entry
);
IUnknown_Release
(
entry
->
handler_iface
);
SafeArrayDestroy
(
entry
->
runtime_id
);
heap_
free
(
entry
);
free
(
entry
);
}
static
void
uia_event_handlers_remove_handlers
(
IUnknown
*
handler_iface
,
SAFEARRAY
*
runtime_id
,
int
event_id
)
...
...
@@ -1153,8 +1153,8 @@ static ULONG WINAPI uia_element_array_Release(IUIAutomationElementArray *iface)
IUIAutomationElement_Release
(
element_arr
->
elements
[
i
]);
}
}
heap_
free
(
element_arr
->
elements
);
heap_
free
(
element_arr
);
free
(
element_arr
->
elements
);
free
(
element_arr
);
}
return
ref
;
...
...
@@ -1203,7 +1203,7 @@ static const IUIAutomationElementArrayVtbl uia_element_array_vtbl = {
static
HRESULT
create_uia_element_array_iface
(
IUIAutomationElementArray
**
iface
,
int
elements_count
)
{
struct
uia_element_array
*
element_arr
=
heap_alloc_zero
(
sizeof
(
*
element_arr
));
struct
uia_element_array
*
element_arr
=
calloc
(
1
,
sizeof
(
*
element_arr
));
*
iface
=
NULL
;
if
(
!
element_arr
)
...
...
@@ -1212,9 +1212,9 @@ static HRESULT create_uia_element_array_iface(IUIAutomationElementArray **iface,
element_arr
->
IUIAutomationElementArray_iface
.
lpVtbl
=
&
uia_element_array_vtbl
;
element_arr
->
ref
=
1
;
element_arr
->
elements_count
=
elements_count
;
if
(
!
(
element_arr
->
elements
=
heap_alloc_zero
(
sizeof
(
*
element_arr
->
elements
)
*
elements_count
)))
if
(
!
(
element_arr
->
elements
=
calloc
(
elements_count
,
sizeof
(
*
element_arr
->
elements
)
)))
{
heap_
free
(
element_arr
);
free
(
element_arr
);
return
E_OUTOFMEMORY
;
}
...
...
@@ -1293,9 +1293,9 @@ static ULONG WINAPI uia_element_Release(IUIAutomationElement9 *iface)
}
IUnknown_Release
(
element
->
marshal
);
heap_
free
(
element
->
cached_props
);
free
(
element
->
cached_props
);
UiaNodeRelease
(
element
->
node
);
heap_
free
(
element
);
free
(
element
);
}
return
ref
;
...
...
@@ -2539,7 +2539,7 @@ static const IUIAutomationElement9Vtbl uia_element_vtbl = {
static
HRESULT
create_uia_element
(
IUIAutomationElement
**
iface
,
BOOL
from_cui8
,
HUIANODE
node
)
{
struct
uia_element
*
element
=
heap_alloc_zero
(
sizeof
(
*
element
));
struct
uia_element
*
element
=
calloc
(
1
,
sizeof
(
*
element
));
HRESULT
hr
;
*
iface
=
NULL
;
...
...
@@ -2554,7 +2554,7 @@ static HRESULT create_uia_element(IUIAutomationElement **iface, BOOL from_cui8,
hr
=
CoCreateFreeThreadedMarshaler
((
IUnknown
*
)
&
element
->
IUIAutomationElement9_iface
,
&
element
->
marshal
);
if
(
FAILED
(
hr
))
{
heap_
free
(
element
);
free
(
element
);
return
hr
;
}
...
...
@@ -2603,7 +2603,7 @@ static HRESULT create_uia_element_from_cache_req(IUIAutomationElement **iface, B
{
LONG
i
;
elem_data
->
cached_props
=
heap_alloc_zero
(
sizeof
(
*
elem_data
->
cached_props
)
*
cache_req
->
cProperties
);
elem_data
->
cached_props
=
calloc
(
cache_req
->
cProperties
,
sizeof
(
*
elem_data
->
cached_props
)
);
if
(
!
elem_data
->
cached_props
)
{
hr
=
E_OUTOFMEMORY
;
...
...
@@ -2702,7 +2702,7 @@ static ULONG WINAPI uia_tree_walker_Release(IUIAutomationTreeWalker *iface)
if
(
tree_walker
->
default_cache_req
)
IUIAutomationCacheRequest_Release
(
tree_walker
->
default_cache_req
);
IUIAutomationCondition_Release
(
tree_walker
->
nav_cond
);
heap_
free
(
tree_walker
);
free
(
tree_walker
);
}
return
ref
;
...
...
@@ -2895,7 +2895,7 @@ static HRESULT create_uia_tree_walker(IUIAutomationTreeWalker **out_tree_walker,
if
(
FAILED
(
hr
))
return
hr
;
tree_walker
=
heap_alloc_zero
(
sizeof
(
*
tree_walker
));
tree_walker
=
calloc
(
1
,
sizeof
(
*
tree_walker
));
if
(
!
tree_walker
)
return
E_OUTOFMEMORY
;
...
...
@@ -2968,7 +2968,7 @@ static ULONG WINAPI uia_iface_Release(IUIAutomation6 *iface)
TRACE
(
"%p, refcount %ld
\n
"
,
uia_iface
,
ref
);
if
(
!
ref
)
heap_
free
(
uia_iface
);
free
(
uia_iface
);
return
ref
;
}
...
...
@@ -3288,7 +3288,7 @@ static HRESULT uia_add_com_event_handler(IUIAutomation6 *iface, EVENTID event_id
if
(
FAILED
(
hr
))
goto
exit
;
if
(
!
(
com_event
=
heap_alloc_zero
(
sizeof
(
*
com_event
))))
if
(
!
(
com_event
=
calloc
(
1
,
sizeof
(
*
com_event
))))
{
hr
=
E_OUTOFMEMORY
;
goto
exit
;
...
...
@@ -3925,7 +3925,7 @@ HRESULT create_uia_iface(IUnknown **iface, BOOL is_cui8)
{
struct
uia_iface
*
uia
;
uia
=
heap_alloc_zero
(
sizeof
(
*
uia
));
uia
=
calloc
(
1
,
sizeof
(
*
uia
));
if
(
!
uia
)
return
E_OUTOFMEMORY
;
...
...
dlls/uiautomationcore/uia_event.c
View file @
d8966584
...
...
@@ -139,7 +139,7 @@ static HRESULT uia_event_map_add_event(struct uia_event *event)
if
(
!
(
event_entry
=
uia_get_event_map_entry_for_event
(
event
->
event_id
)))
{
if
(
!
(
event_entry
=
heap_alloc_zero
(
sizeof
(
*
event_entry
))))
if
(
!
(
event_entry
=
calloc
(
1
,
sizeof
(
*
event_entry
))))
{
LeaveCriticalSection
(
&
event_map_cs
);
return
E_OUTOFMEMORY
;
...
...
@@ -207,7 +207,7 @@ static void uia_event_map_entry_release(struct uia_event_map_entry *entry)
IWineUiaEvent_Release
(
&
event
->
IWineUiaEvent_iface
);
}
heap_
free
(
entry
);
free
(
entry
);
}
}
...
...
@@ -219,7 +219,7 @@ static void uia_event_map_entry_release(struct uia_event_map_entry *entry)
*/
static
struct
uia_event_args
*
create_uia_event_args
(
const
struct
uia_event_info
*
event_info
)
{
struct
uia_event_args
*
args
=
heap_alloc_zero
(
sizeof
(
*
args
));
struct
uia_event_args
*
args
=
calloc
(
1
,
sizeof
(
*
args
));
if
(
!
args
)
return
NULL
;
...
...
@@ -234,7 +234,7 @@ static struct uia_event_args *create_uia_event_args(const struct uia_event_info
static
void
uia_event_args_release
(
struct
uia_event_args
*
args
)
{
if
(
!
InterlockedDecrement
(
&
args
->
ref
))
heap_
free
(
args
);
free
(
args
);
}
/*
...
...
@@ -412,7 +412,7 @@ static void uia_event_thread_process_queue(struct list *event_queue)
uia_event_args_release
(
event
->
args
);
IWineUiaEvent_Release
(
&
event
->
event
->
IWineUiaEvent_iface
);
heap_
free
(
event
);
free
(
event
);
}
}
...
...
@@ -581,8 +581,8 @@ static ULONG WINAPI uia_event_Release(IWineUiaEvent *iface)
for
(
i
=
0
;
i
<
event
->
event_advisers_count
;
i
++
)
IWineUiaEventAdviser_Release
(
event
->
event_advisers
[
i
]);
heap_
free
(
event
->
event_advisers
);
heap_
free
(
event
);
free
(
event
->
event_advisers
);
free
(
event
);
}
return
ref
;
...
...
@@ -626,7 +626,7 @@ static HRESULT WINAPI uia_event_advise_events(IWineUiaEvent *iface, BOOL advise_
for
(
i
=
0
;
i
<
event
->
event_advisers_count
;
i
++
)
IWineUiaEventAdviser_Release
(
event
->
event_advisers
[
i
]);
heap_
free
(
event
->
event_advisers
);
free
(
event
->
event_advisers
);
event
->
event_advisers_count
=
event
->
event_advisers_arr_size
=
0
;
}
...
...
@@ -671,12 +671,12 @@ static HRESULT WINAPI uia_event_raise_event(IWineUiaEvent *iface, VARIANT in_nod
assert
(
event
->
event_type
!=
EVENT_TYPE_SERVERSIDE
);
if
(
!
(
queue_event
=
heap_alloc_zero
(
sizeof
(
*
queue_event
))))
if
(
!
(
queue_event
=
calloc
(
1
,
sizeof
(
*
queue_event
))))
return
E_OUTOFMEMORY
;
if
(
!
(
args
=
create_uia_event_args
(
uia_event_info_from_id
(
event
->
event_id
))))
{
heap_
free
(
queue_event
);
free
(
queue_event
);
return
E_OUTOFMEMORY
;
}
...
...
@@ -712,7 +712,7 @@ static struct uia_event *unsafe_impl_from_IWineUiaEvent(IWineUiaEvent *iface)
static
HRESULT
create_uia_event
(
struct
uia_event
**
out_event
,
LONG
event_cookie
,
int
event_type
)
{
struct
uia_event
*
event
=
heap_alloc_zero
(
sizeof
(
*
event
));
struct
uia_event
*
event
=
calloc
(
1
,
sizeof
(
*
event
));
*
out_event
=
NULL
;
if
(
!
event
)
...
...
@@ -775,7 +775,7 @@ HRESULT create_serverside_uia_event(struct uia_event **out_event, LONG process_i
if
(
!
uia_start_event_thread
())
{
heap_
free
(
event
);
free
(
event
);
hr
=
E_FAIL
;
goto
exit
;
}
...
...
@@ -856,7 +856,7 @@ static ULONG WINAPI uia_event_adviser_Release(IWineUiaEventAdviser *iface)
WARN
(
"Failed to revoke advise events interface from GIT
\n
"
);
}
IRawElementProviderAdviseEvents_Release
(
adv_events
->
advise_events
);
heap_
free
(
adv_events
);
free
(
adv_events
);
}
return
ref
;
...
...
@@ -920,7 +920,7 @@ HRESULT uia_event_add_provider_event_adviser(IRawElementProviderAdviseEvents *ad
if
(
FAILED
(
hr
))
return
hr
;
if
(
!
(
adv_events
=
heap_alloc_zero
(
sizeof
(
*
adv_events
))))
if
(
!
(
adv_events
=
calloc
(
1
,
sizeof
(
*
adv_events
))))
return
E_OUTOFMEMORY
;
if
(
prov_opts
&
ProviderOptions_UseComThreading
)
...
...
@@ -929,7 +929,7 @@ HRESULT uia_event_add_provider_event_adviser(IRawElementProviderAdviseEvents *ad
&
adv_events
->
git_cookie
);
if
(
FAILED
(
hr
))
{
heap_
free
(
adv_events
);
free
(
adv_events
);
return
hr
;
}
}
...
...
@@ -990,7 +990,7 @@ static ULONG WINAPI uia_serverside_event_adviser_Release(IWineUiaEventAdviser *i
if
(
!
ref
)
{
IWineUiaEvent_Release
(
adv_events
->
event_iface
);
heap_
free
(
adv_events
);
free
(
adv_events
);
}
return
ref
;
}
...
...
@@ -1057,7 +1057,7 @@ HRESULT uia_event_add_serverside_event_adviser(IWineUiaEvent *serverside_event,
}
}
if
(
!
(
adv_events
=
heap_alloc_zero
(
sizeof
(
*
adv_events
))))
if
(
!
(
adv_events
=
calloc
(
1
,
sizeof
(
*
adv_events
))))
return
E_OUTOFMEMORY
;
adv_events
->
IWineUiaEventAdviser_iface
.
lpVtbl
=
&
uia_serverside_event_adviser_vtbl
;
...
...
@@ -1280,14 +1280,14 @@ static HRESULT uia_event_invoke(HUIANODE node, HUIANODE nav_start_node, struct u
struct
uia_queue_event
*
queue_event
;
HUIANODE
node2
,
nav_start_node2
;
if
(
!
(
queue_event
=
heap_alloc_zero
(
sizeof
(
*
queue_event
))))
if
(
!
(
queue_event
=
calloc
(
1
,
sizeof
(
*
queue_event
))))
return
E_OUTOFMEMORY
;
node2
=
nav_start_node2
=
NULL
;
hr
=
clone_uia_node
(
node
,
&
node2
);
if
(
FAILED
(
hr
))
{
heap_
free
(
queue_event
);
free
(
queue_event
);
return
hr
;
}
...
...
@@ -1296,7 +1296,7 @@ static HRESULT uia_event_invoke(HUIANODE node, HUIANODE nav_start_node, struct u
hr
=
clone_uia_node
(
nav_start_node
,
&
nav_start_node2
);
if
(
FAILED
(
hr
))
{
heap_
free
(
queue_event
);
free
(
queue_event
);
UiaNodeRelease
(
node2
);
return
hr
;
}
...
...
dlls/uiautomationcore/uia_main.c
View file @
d8966584
...
...
@@ -68,7 +68,7 @@ static ULONG WINAPI uia_object_wrapper_Release(IUnknown *iface)
if
(
!
refcount
)
{
IUnknown_Release
(
wrapper
->
marshaler
);
heap_
free
(
wrapper
);
free
(
wrapper
);
}
return
refcount
;
...
...
@@ -92,7 +92,7 @@ static HRESULT create_uia_object_wrapper(IUnknown *reserved, void **ppv)
TRACE
(
"%p, %p
\n
"
,
reserved
,
ppv
);
wrapper
=
heap_alloc
(
sizeof
(
*
wrapper
));
wrapper
=
calloc
(
1
,
sizeof
(
*
wrapper
));
if
(
!
wrapper
)
return
E_OUTOFMEMORY
;
...
...
@@ -102,7 +102,7 @@ static HRESULT create_uia_object_wrapper(IUnknown *reserved, void **ppv)
if
(
FAILED
(
hr
=
CoCreateFreeThreadedMarshaler
(
&
wrapper
->
IUnknown_iface
,
&
wrapper
->
marshaler
)))
{
heap_
free
(
wrapper
);
free
(
wrapper
);
return
hr
;
}
...
...
@@ -193,7 +193,7 @@ ULONG WINAPI hwnd_host_provider_Release(IRawElementProviderSimple *iface)
TRACE
(
"%p, refcount %ld
\n
"
,
iface
,
refcount
);
if
(
!
refcount
)
heap_
free
(
host_prov
);
free
(
host_prov
);
return
refcount
;
}
...
...
@@ -370,7 +370,7 @@ HRESULT WINAPI UiaHostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **pr
if
(
!
IsWindow
(
hwnd
)
||
!
provider
)
return
E_INVALIDARG
;
host_prov
=
heap_alloc
(
sizeof
(
*
host_prov
));
host_prov
=
calloc
(
1
,
sizeof
(
*
host_prov
));
if
(
!
host_prov
)
return
E_OUTOFMEMORY
;
...
...
@@ -446,7 +446,7 @@ static ULONG WINAPI uia_cf_Release(IClassFactory *iface)
TRACE
(
"%p, refcount %ld
\n
"
,
cf
,
ref
);
if
(
!
ref
)
heap_
free
(
cf
);
free
(
cf
);
return
ref
;
}
...
...
@@ -496,7 +496,7 @@ static const IClassFactoryVtbl uia_cf_Vtbl =
static
inline
HRESULT
create_uia_cf
(
REFCLSID
clsid
,
REFIID
riid
,
void
**
ppv
)
{
struct
uia_cf
*
cf
=
heap_alloc_zero
(
sizeof
(
*
cf
));
struct
uia_cf
*
cf
=
calloc
(
1
,
sizeof
(
*
cf
));
HRESULT
hr
;
*
ppv
=
NULL
;
...
...
dlls/uiautomationcore/uia_private.h
View file @
d8966584
...
...
@@ -22,7 +22,6 @@
#include "uia_classes.h"
#include "wine/list.h"
#include "wine/rbtree.h"
#include "wine/heap.h"
extern
HMODULE
huia_module
DECLSPEC_HIDDEN
;
...
...
@@ -187,10 +186,7 @@ static inline BOOL uia_array_reserve(void **elements, SIZE_T *capacity, SIZE_T c
if
(
new_capacity
<
count
)
new_capacity
=
count
;
if
(
!*
elements
)
new_elements
=
heap_alloc_zero
(
new_capacity
*
size
);
else
new_elements
=
HeapReAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
*
elements
,
new_capacity
*
size
);
new_elements
=
_recalloc
(
*
elements
,
new_capacity
,
size
);
if
(
!
new_elements
)
return
FALSE
;
...
...
dlls/uiautomationcore/uia_provider.c
View file @
d8966584
...
...
@@ -342,7 +342,7 @@ static HRESULT msaa_acc_get_child_pos(IAccessible *acc, IAccessible **out_parent
return
hr
;
}
children
=
heap_alloc_zero
(
sizeof
(
*
children
)
*
child_count
);
children
=
calloc
(
child_count
,
sizeof
(
*
children
)
);
if
(
!
children
)
return
E_OUTOFMEMORY
;
...
...
@@ -396,7 +396,7 @@ exit:
IAccessible_Release
(
children
[
i
]);
}
heap_
free
(
children
);
free
(
children
);
return
hr
;
}
...
...
@@ -572,7 +572,7 @@ ULONG WINAPI msaa_provider_Release(IRawElementProviderSimple *iface)
IAccessible_Release
(
msaa_prov
->
parent
);
if
(
msaa_prov
->
ia2
)
IAccessible2_Release
(
msaa_prov
->
ia2
);
heap_
free
(
msaa_prov
);
free
(
msaa_prov
);
}
return
refcount
;
...
...
@@ -1136,7 +1136,7 @@ static const ILegacyIAccessibleProviderVtbl msaa_acc_provider_vtbl = {
HRESULT
create_msaa_provider
(
IAccessible
*
acc
,
LONG
child_id
,
HWND
hwnd
,
BOOL
known_root_acc
,
IRawElementProviderSimple
**
elprov
)
{
struct
msaa_provider
*
msaa_prov
=
heap_alloc_zero
(
sizeof
(
*
msaa_prov
));
struct
msaa_provider
*
msaa_prov
=
calloc
(
1
,
sizeof
(
*
msaa_prov
));
if
(
!
msaa_prov
)
return
E_OUTOFMEMORY
;
...
...
@@ -1337,7 +1337,7 @@ static ULONG WINAPI base_hwnd_provider_Release(IRawElementProviderSimple *iface)
TRACE
(
"%p, refcount %ld
\n
"
,
iface
,
refcount
);
if
(
!
refcount
)
heap_
free
(
base_hwnd_prov
);
free
(
base_hwnd_prov
);
return
refcount
;
}
...
...
@@ -1629,7 +1629,7 @@ HRESULT create_base_hwnd_provider(HWND hwnd, IRawElementProviderSimple **elprov)
if
(
!
IsWindow
(
hwnd
))
return
UIA_E_ELEMENTNOTAVAILABLE
;
if
(
!
(
base_hwnd_prov
=
heap_alloc_zero
(
sizeof
(
*
base_hwnd_prov
))))
if
(
!
(
base_hwnd_prov
=
calloc
(
1
,
sizeof
(
*
base_hwnd_prov
))))
return
E_OUTOFMEMORY
;
base_hwnd_prov
->
IRawElementProviderSimple_iface
.
lpVtbl
=
&
base_hwnd_provider_vtbl
;
...
...
@@ -1695,7 +1695,7 @@ void uia_provider_thread_remove_node(HUIANODE node)
{
rb_remove
(
&
provider_thread
.
node_map
,
&
node_data
->
map
->
entry
);
SafeArrayDestroy
(
node_data
->
map
->
runtime_id
);
heap_
free
(
node_data
->
map
);
free
(
node_data
->
map
);
}
node_data
->
map
=
NULL
;
}
...
...
@@ -1736,7 +1736,7 @@ static void uia_provider_thread_disconnect_node(SAFEARRAY *sa)
rb_remove
(
&
provider_thread
.
node_map
,
&
prov_map
->
entry
);
SafeArrayDestroy
(
prov_map
->
runtime_id
);
heap_
free
(
prov_map
);
free
(
prov_map
);
}
exit:
...
...
@@ -1768,7 +1768,7 @@ static HRESULT uia_provider_thread_add_node(HUIANODE node, SAFEARRAY *rt_id)
prov_map
=
RB_ENTRY_VALUE
(
rb_entry
,
struct
uia_provider_thread_map_entry
,
entry
);
else
{
prov_map
=
heap_alloc_zero
(
sizeof
(
*
prov_map
));
prov_map
=
calloc
(
1
,
sizeof
(
*
prov_map
));
if
(
!
prov_map
)
{
hr
=
E_OUTOFMEMORY
;
...
...
@@ -1778,7 +1778,7 @@ static HRESULT uia_provider_thread_add_node(HUIANODE node, SAFEARRAY *rt_id)
hr
=
SafeArrayCopy
(
rt_id
,
&
prov_map
->
runtime_id
);
if
(
FAILED
(
hr
))
{
heap_
free
(
prov_map
);
free
(
prov_map
);
goto
exit
;
}
list_init
(
&
prov_map
->
nodes_list
);
...
...
dlls/uiautomationcore/uia_utils.c
View file @
d8966584
...
...
@@ -149,7 +149,7 @@ static void uia_condition_destroy(struct UiaCondition *cond)
for
(
i
=
0
;
i
<
and_or_cond
->
cConditions
;
i
++
)
uia_condition_destroy
(
and_or_cond
->
ppConditions
[
i
]);
heap_
free
(
and_or_cond
->
ppConditions
);
free
(
and_or_cond
->
ppConditions
);
break
;
}
...
...
@@ -157,7 +157,7 @@ static void uia_condition_destroy(struct UiaCondition *cond)
break
;
}
heap_
free
(
cond
);
free
(
cond
);
}
static
HRESULT
uia_condition_clone
(
struct
UiaCondition
**
dst
,
struct
UiaCondition
*
src
)
...
...
@@ -169,7 +169,7 @@ static HRESULT uia_condition_clone(struct UiaCondition **dst, struct UiaConditio
{
case
ConditionType_True
:
case
ConditionType_False
:
if
(
!
(
*
dst
=
heap_alloc_zero
(
sizeof
(
**
dst
))))
if
(
!
(
*
dst
=
calloc
(
1
,
sizeof
(
**
dst
))))
return
E_OUTOFMEMORY
;
(
*
dst
)
->
ConditionType
=
src
->
ConditionType
;
...
...
@@ -177,7 +177,7 @@ static HRESULT uia_condition_clone(struct UiaCondition **dst, struct UiaConditio
case
ConditionType_Property
:
{
struct
UiaPropertyCondition
*
prop_cond
=
heap_alloc_zero
(
sizeof
(
*
prop_cond
));
struct
UiaPropertyCondition
*
prop_cond
=
calloc
(
1
,
sizeof
(
*
prop_cond
));
struct
UiaPropertyCondition
*
src_cond
=
(
struct
UiaPropertyCondition
*
)
src
;
if
(
!
prop_cond
)
...
...
@@ -194,7 +194,7 @@ static HRESULT uia_condition_clone(struct UiaCondition **dst, struct UiaConditio
case
ConditionType_Not
:
{
struct
UiaNotCondition
*
not_cond
=
heap_alloc_zero
(
sizeof
(
*
not_cond
));
struct
UiaNotCondition
*
not_cond
=
calloc
(
1
,
sizeof
(
*
not_cond
));
struct
UiaNotCondition
*
src_cond
=
(
struct
UiaNotCondition
*
)
src
;
if
(
!
not_cond
)
...
...
@@ -209,7 +209,7 @@ static HRESULT uia_condition_clone(struct UiaCondition **dst, struct UiaConditio
case
ConditionType_And
:
case
ConditionType_Or
:
{
struct
UiaAndOrCondition
*
and_or_cond
=
heap_alloc_zero
(
sizeof
(
*
and_or_cond
));
struct
UiaAndOrCondition
*
and_or_cond
=
calloc
(
1
,
sizeof
(
*
and_or_cond
));
struct
UiaAndOrCondition
*
src_cond
=
(
struct
UiaAndOrCondition
*
)
src
;
int
i
;
...
...
@@ -218,7 +218,7 @@ static HRESULT uia_condition_clone(struct UiaCondition **dst, struct UiaConditio
*
dst
=
(
struct
UiaCondition
*
)
and_or_cond
;
and_or_cond
->
ConditionType
=
src_cond
->
ConditionType
;
and_or_cond
->
ppConditions
=
heap_alloc_zero
(
sizeof
(
*
and_or_cond
->
ppConditions
)
*
src_cond
->
cConditions
);
and_or_cond
->
ppConditions
=
calloc
(
src_cond
->
cConditions
,
sizeof
(
*
and_or_cond
->
ppConditions
)
);
if
(
!
and_or_cond
->
ppConditions
)
{
hr
=
E_OUTOFMEMORY
;
...
...
@@ -257,8 +257,8 @@ exit:
void
uia_cache_request_destroy
(
struct
UiaCacheRequest
*
cache_req
)
{
uia_condition_destroy
(
cache_req
->
pViewCondition
);
heap_
free
(
cache_req
->
pProperties
);
heap_
free
(
cache_req
->
pPatterns
);
free
(
cache_req
->
pProperties
);
free
(
cache_req
->
pPatterns
);
}
HRESULT
uia_cache_request_clone
(
struct
UiaCacheRequest
*
dst
,
struct
UiaCacheRequest
*
src
)
...
...
@@ -273,7 +273,7 @@ HRESULT uia_cache_request_clone(struct UiaCacheRequest *dst, struct UiaCacheRequ
dst
->
automationElementMode
=
src
->
automationElementMode
;
if
(
src
->
cProperties
)
{
if
(
!
(
dst
->
pProperties
=
heap_alloc_zero
(
sizeof
(
*
dst
->
pProperties
)
*
src
->
cProperties
)))
if
(
!
(
dst
->
pProperties
=
calloc
(
src
->
cProperties
,
sizeof
(
*
dst
->
pProperties
)
)))
{
uia_cache_request_destroy
(
dst
);
return
E_OUTOFMEMORY
;
...
...
@@ -285,7 +285,7 @@ HRESULT uia_cache_request_clone(struct UiaCacheRequest *dst, struct UiaCacheRequ
if
(
src
->
cPatterns
)
{
if
(
!
(
dst
->
pPatterns
=
heap_alloc_zero
(
sizeof
(
*
dst
->
pPatterns
)
*
src
->
cPatterns
)))
if
(
!
(
dst
->
pPatterns
=
calloc
(
src
->
cPatterns
,
sizeof
(
*
dst
->
pPatterns
)
)))
{
uia_cache_request_destroy
(
dst
);
return
E_OUTOFMEMORY
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment