VirtualBox

Changeset 30186 in vbox for trunk


Ignore:
Timestamp:
Jun 14, 2010 8:54:19 PM (15 years ago)
Author:
vboxsync
Message:

Linux shared folders: fixed a small memory leak when reading the content of a directory

Location:
trunk/src/VBox/Additions/linux/sharedfolders
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/linux/sharedfolders/dirops.c

    r30175 r30186  
    632632    /* directory content changed */
    633633    sf_i->force_reread = 1;
    634     kfree(path);
    635     return 0;
     634
     635    err = 0;
    636636
    637637fail1:
  • trunk/src/VBox/Additions/linux/sharedfolders/utils.c

    r30175 r30186  
    387387    uint8_t *p_name;
    388388    uint8_t *dst;
    389     int is_root = 0;
     389    int fRoot = 0;
    390390
    391391    TRACE();
     
    396396    {
    397397        path_len = d_len + 1;
    398         is_root = 1;
     398        fRoot = 1;
    399399    }
    400400    else
     
    419419    tmp->u16Size = path_len;
    420420
    421     if (is_root)
    422         memcpy(tmp->String.utf8, d_name, d_len + 1);
     421    if (fRoot)
     422        memcpy(&tmp->String.utf8[0], d_name, d_len + 1);
    423423    else
    424424    {
    425         dst = tmp->String.utf8;
    426         memcpy(dst, p_name, p_len);
    427         dst += p_len; *dst++ = '/';
    428         memcpy(dst, d_name, d_len);
    429         dst[d_len] = 0;
     425        memcpy(&tmp->String.utf8[0], p_name, p_len);
     426        tmp->String.utf8[p_len] = '/';
     427        memcpy(&tmp->String[plen + 1], d_name, d_len);
     428        tmp->String.utf8[p_len + 1 + d_len] = '\0';
    430429    }
    431430
     
    774773            break;
    775774    }
    776     return 0;
     775    err = 0;
    777776
    778777fail1:
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette