Ticket #2097: 2097-src-find.c-subshell.c-mem-leaks.diff

File 2097-src-find.c-subshell.c-mem-leaks.diff, 2.0 KB (added by vit_r, 9 years ago)

src-find.c-subshell.c-mem-leaks

  • src/file.c

    diff -urN mc-4.7.1-old/src/file.c mc-4.7.1-new/src/file.c
    old new  
    351351progress_update_one (FileOpTotalContext *tctx, FileOpContext *ctx, off_t add, gboolean is_toplevel_file) 
    352352{ 
    353353    struct timeval tv_current; 
    354     static struct timeval tv_start = {}; 
     354    static struct timeval tv_start = { 0 }; 
    355355 
    356356    if (is_toplevel_file || ctx->progress_totals_computed) { 
    357357        tctx->progress_count++; 
  • src/find.c

    diff -urN mc-4.7.1-old/src/find.c mc-4.7.1-new/src/find.c
    old new  
    13281328    gboolean dir_and_file_set; 
    13291329 
    13301330    while (find_parameters (&start_dir, &pattern, &content)){ 
     1331        if (pattern == NULL) 
     1332            break; 
     1333 
    13311334        if (pattern [0] == '\0') 
    1332             break; /* nothing search*/ 
     1335            break; /* nothing search */ 
    13331336 
    13341337        dirname = filename = NULL; 
    13351338        is_start = FALSE; 
    13361339        v = find_file (start_dir, pattern, content, &dirname, &filename); 
     1340        g_free (start_dir); 
    13371341        g_free (pattern); 
    13381342 
    13391343        if (v == B_ENTER){ 
     
    13431347                    if (filename) 
    13441348                        try_to_select (current_panel, filename + (content ?  
    13451349                           (strchr (filename + 4, ':') - filename + 1) : 4) ); 
    1346                 } else if (filename) 
     1350                } else if (filename) { 
    13471351                    do_cd (filename, cd_exact); 
     1352                } 
    13481353                select_item (current_panel); 
    13491354            } 
     1355            g_free (content); 
    13501356            g_free (dirname); 
    13511357            g_free (filename); 
    13521358            break; 
  • src/subshell.c

    diff -urN mc-4.7.1-old/src/subshell.c mc-4.7.1-new/src/subshell.c
    old new  
    233233    mc_sid = getsid (0); 
    234234    if (mc_sid != -1) { 
    235235        char sid_str[BUF_SMALL]; 
     236        char *tmp; 
     237 
    236238        g_snprintf (sid_str, sizeof (sid_str), "MC_SID=%ld", 
    237239                    (long) mc_sid); 
    238         putenv (g_strdup (sid_str)); 
     240        tmp = g_strdup (sid_str); 
     241        putenv (tmp); 
     242        g_free (tmp); 
    239243    } 
    240244 
    241245    switch (subshell_type) {