projects
/
platform
/
upstream
/
libunwind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix some minor issues found via static analysis
[platform/upstream/libunwind.git]
/
src
/
mi
/
Gdyn-remote.c
diff --git
a/src/mi/Gdyn-remote.c
b/src/mi/Gdyn-remote.c
index
40a5ad8
..
702c265
100644
(file)
--- a/
src/mi/Gdyn-remote.c
+++ b/
src/mi/Gdyn-remote.c
@@
-228,7
+228,7
@@
unwi_dyn_remote_find_proc_info (unw_addr_space_t as, unw_word_t ip,
if (fetchw (as, a, &addr, &gen1, arg) < 0
|| fetchw (as, a, &addr, &next_addr, arg) < 0)
if (fetchw (as, a, &addr, &gen1, arg) < 0
|| fetchw (as, a, &addr, &next_addr, arg) < 0)
-
return ret
;
+
goto fail
;
for (addr = next_addr; addr != 0; addr = next_addr)
{
for (addr = next_addr; addr != 0; addr = next_addr)
{
@@
-245,6
+245,10
@@
unwi_dyn_remote_find_proc_info (unw_addr_space_t as, unw_word_t ip,
{
if (!di)
di = calloc (1, sizeof (*di));
{
if (!di)
di = calloc (1, sizeof (*di));
+ if (!di) {
+ ret = -UNW_ENOMEM;
+ goto fail;
+ }
di->start_ip = start_ip;
di->end_ip = end_ip;
di->start_ip = start_ip;
di->end_ip = end_ip;
@@
-275,10
+279,11
@@
unwi_dyn_remote_find_proc_info (unw_addr_space_t as, unw_word_t ip,
recheck:
addr = dyn_list_addr;
if (fetchw (as, a, &addr, &gen2, arg) < 0)
recheck:
addr = dyn_list_addr;
if (fetchw (as, a, &addr, &gen2, arg) < 0)
-
return ret
;
+
goto fail
;
}
while (gen1 != gen2);
}
while (gen1 != gen2);
+fail:
if (ret < 0 && di)
free (di);
if (ret < 0 && di)
free (di);