Loading memanalyze.pl +40 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,37 @@ while(<STDIN>) { $fopens--; } } } # ADDR url.c:1282 getaddrinfo() = 0x5ddd elsif($_ =~ /^ADDR ([^:]*):(\d*) (.*)/) { # generic match for the filename+linenumber $source = $1; $linenum = $2; $function = $3; if($function =~ /getaddrinfo\(\) = (\(nil\)|0x([0-9a-f]*))/) { my $add = $2; if($add eq "(nil)") { ; } else { $addrinfo{$add}=1; $addrinfofile{$add}="$source:$linenum"; $addrinfos++; } } # fclose(0x1026c8) elsif($function =~ /freeaddrinfo\(0x([0-9a-f]*)\)/) { if(!$addrinfo{$1}) { print "freeaddrinfo() without getaddrinfo(): $line\n"; } else { $addrinfo{$1}=0; $addrinfos--; } } } else { print "Not recognized prefix line: $line\n"; Loading Loading @@ -203,6 +234,15 @@ if($fopens) { } } if($addrinfos) { print "IPv6-style name resolve data left at:\n"; for(keys %addrinfofile) { if($addrinfo{$_} == 1) { print "getaddrinfo() called at ".$addrinfofile{$_}."\n"; } } } if($verbose) { print "Mallocs: $mallocs\n", "Reallocs: $reallocs\n", Loading Loading
memanalyze.pl +40 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,37 @@ while(<STDIN>) { $fopens--; } } } # ADDR url.c:1282 getaddrinfo() = 0x5ddd elsif($_ =~ /^ADDR ([^:]*):(\d*) (.*)/) { # generic match for the filename+linenumber $source = $1; $linenum = $2; $function = $3; if($function =~ /getaddrinfo\(\) = (\(nil\)|0x([0-9a-f]*))/) { my $add = $2; if($add eq "(nil)") { ; } else { $addrinfo{$add}=1; $addrinfofile{$add}="$source:$linenum"; $addrinfos++; } } # fclose(0x1026c8) elsif($function =~ /freeaddrinfo\(0x([0-9a-f]*)\)/) { if(!$addrinfo{$1}) { print "freeaddrinfo() without getaddrinfo(): $line\n"; } else { $addrinfo{$1}=0; $addrinfos--; } } } else { print "Not recognized prefix line: $line\n"; Loading Loading @@ -203,6 +234,15 @@ if($fopens) { } } if($addrinfos) { print "IPv6-style name resolve data left at:\n"; for(keys %addrinfofile) { if($addrinfo{$_} == 1) { print "getaddrinfo() called at ".$addrinfofile{$_}."\n"; } } } if($verbose) { print "Mallocs: $mallocs\n", "Reallocs: $reallocs\n", Loading