Page MenuHomeFreeBSD

Fix a memory leak in libiberty
ClosedPublic

Authored by trix_juniper.net on Feb 20 2017, 5:06 PM.
Tags
None
Referenced Files
F106040426: D9691.id25435.diff
Tue, Dec 24, 8:17 AM
Unknown Object (File)
Fri, Dec 20, 6:17 AM
Unknown Object (File)
Thu, Dec 19, 11:15 PM
Unknown Object (File)
Wed, Dec 11, 8:28 AM
Unknown Object (File)
Wed, Dec 11, 7:52 AM
Unknown Object (File)
Wed, Nov 27, 12:46 PM
Unknown Object (File)
Nov 20 2024, 7:45 PM
Unknown Object (File)
Oct 31 2024, 5:50 AM
Subscribers

Details

Summary

The function make_relative_prefix_1 does not properly free locally allocated memory when it returns early.

Free the memory associated with the variables full_programe, bin_dirs, prog_dirs, and prefix_dirs when the
function returns early.

Test Plan

Run clang's static analyzer, scan-build, before to reproduce the problem; run scan-build after to show problem is resolved.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

trix_juniper.net retitled this revision from to Fix a memory leak in libiberty.
trix_juniper.net updated this object.
trix_juniper.net edited the test plan for this revision. (Show Details)
trix_juniper.net set the repository for this revision to rS FreeBSD src repository - subversion.
This revision is now accepted and ready to land.May 30 2017, 8:32 PM

Thanks!
Now if someone could commit it..
Tom

contrib/binutils/libiberty/make-relative-prefix.c
302 ↗(On Diff #25435)

These if statements should really use the style of the file.

if (prog_dirs == NULL)
  {
    free (full_progname);

...etc.

Note the opening/closing braces on their own lines 2 space indented, with the rest of the block an additional 2 space indented.

@stevek will you commit (with style fix)?

@stevek will you commit (with style fix)?

Sure, I can do that.

This revision was automatically updated to reflect the committed changes.