Code Review
/
src
/
agl-compositor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix potential memory leak
[src/agl-compositor.git]
/
src
/
compositor.c
diff --git
a/src/compositor.c
b/src/compositor.c
index
926cb2c
..
fd5f5a6
100644
(file)
--- a/
src/compositor.c
+++ b/
src/compositor.c
@@
-754,6
+754,10
@@
ivi_enable_remote_outputs(struct ivi_compositor *ivi)
}
ivi_output = zalloc(sizeof(*ivi_output));
}
ivi_output = zalloc(sizeof(*ivi_output));
+ if (!ivi_output) {
+ free(_name);
+ continue;
+ }
ivi_output->ivi = ivi;
ivi_output->name = _name;
ivi_output->ivi = ivi;
ivi_output->name = _name;
@@
-806,6
+810,10
@@
ivi_enable_waltham_outputs(struct ivi_compositor *ivi)
}
ivi_output = zalloc(sizeof(*ivi_output));
}
ivi_output = zalloc(sizeof(*ivi_output));
+ if (!ivi_output) {
+ free(_name);
+ continue;
+ }
ivi_output->ivi = ivi;
ivi_output->name = _name;
ivi_output->ivi = ivi;
ivi_output->name = _name;
@@
-1760,6
+1768,11
@@
int wet_main(int argc, char *argv[])
wl_display_destroy_clients(display);
error_compositor:
wl_display_destroy_clients(display);
error_compositor:
+ free(backend);
+ backend = NULL;
+ free(modules);
+ modules = NULL;
+
weston_compositor_tear_down(ivi.compositor);
weston_compositor_log_scope_destroy(log_scope);
weston_compositor_tear_down(ivi.compositor);
weston_compositor_log_scope_destroy(log_scope);