• L
    Cleanup of large buffer on stack in virFileMakePath · ba1d379c
    Laine Stump 提交于
    virFileMakePath is a recursive function that was creates a buffer
    PATH_MAX bytes long for each recursion (one recursion for each element
    in the path). This changes it to have no buffers on the stack, and to
    allocate just one buffer total, no matter how many elements are in the
    path. Because the modified algorithm requires a char* to be passed in
    rather than const char *, it is now 2 functions - a toplevel API
    function that remains identical in function, and a 2nd helper function
    called for the recursions, which 1) doesn't allocate anything, and 2)
    takes a char* arg, so it can modify the contents.
    * src/util/util.c: rewrite virFileMakePath
    ba1d379c
util.c 63.3 KB