vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Thu Dec 22 
22:04:00 2016 +0200| [23d17364b6bab8a60614623bd9f30c780d96348b] | committer: 
Rémi Denis-Courmont

globalhotkeys/xcb: fix leak on error

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=23d17364b6bab8a60614623bd9f30c780d96348b
---

 modules/control/globalhotkeys/xcb.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/modules/control/globalhotkeys/xcb.c 
b/modules/control/globalhotkeys/xcb.c
index 5a3f298..42fb9f4 100644
--- a/modules/control/globalhotkeys/xcb.c
+++ b/modules/control/globalhotkeys/xcb.c
@@ -325,15 +325,16 @@ static bool Mapping( intf_thread_t *p_intf )
             if( i != 0 && i_ignored == 0)
                 continue;
 
-            hotkey_mapping_t *p_map_old = p_sys->p_map;
-            p_sys->p_map = realloc( p_sys->p_map,
-                    sizeof(*p_sys->p_map) * (p_sys->i_map+1) );
-            if( !p_sys->p_map )
+            hotkey_mapping_t *p_map = realloc( p_sys->p_map,
+                              sizeof(*p_sys->p_map) * (p_sys->i_map+1) );
+            if( !p_map )
             {
-                p_sys->p_map = p_map_old;
+                free( p_keys );
                 break;
             }
-            hotkey_mapping_t *p_map = &p_sys->p_map[p_sys->i_map++];
+            p_sys->p_map = p_map;
+            p_map += p_sys->i_map;
+            p_sys->i_map++;
 
             p_map->p_keys = p_keys;
             p_map->i_modifier = i_modifier|i_ignored;

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to