englebass pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8204212f36d936f951accda61fd2f7f329390b71

commit 8204212f36d936f951accda61fd2f7f329390b71
Author: Sebastian Dransfeld <[email protected]>
Date:   Thu Sep 25 09:22:22 2014 +0200

    efreet: Fix leak
    
    When doing efreet_desktop_command_append_multiple we add all files from
    command, whilst still looping command->files. So the command was created
    with all files for all files.
    
    Set l to NULL, since we parse all elements in command->files in
    efreet_desktop_command_append_multiple to break the loop.
---
 src/lib/efreet/efreet_desktop_command.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/efreet/efreet_desktop_command.c 
b/src/lib/efreet/efreet_desktop_command.c
index 51e60c9..15a4a5c 100644
--- a/src/lib/efreet/efreet_desktop_command.c
+++ b/src/lib/efreet/efreet_desktop_command.c
@@ -381,6 +381,9 @@ efreet_desktop_command_build(Efreet_Desktop_Command 
*command)
                                     &len, command, *p);
                             if (!exec) goto error;
                             file_added = 1;
+                            /* Set l to NULL to break the loop, since we parse 
all command->files
+                             * in efreet_desktop_command_append_multiple */
+                            l = NULL;
                         }
                         break;
                     case 'i':

-- 


Reply via email to