mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
supports the new ADDR prefix for getaddrinfo() and freeaddrinfo() tracing
This commit is contained in:
parent
5d9ae88f58
commit
cfb32ec0cd
@ -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";
|
||||
@ -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…
Reference in New Issue
Block a user