add packages_10.03.2 in preparation for the 10.03.2 interim release
[10.03/packages.git] / net / djbdns / patches / 050-tinydns-mmap-leak.patch
1 --- a/tdlookup.c
2 +++ b/tdlookup.c
3 @@ -298,9 +298,17 @@ int respond(char *q,char qtype[2],char i
4    if (!r) r = cdb_find(&c,key,4);
5    if (!r) r = cdb_find(&c,key,3);
6    if (!r) r = cdb_find(&c,key,2);
7 -  if (r == -1) return 0;
8 +  if (r == -1) {
9 +    cdb_free(&c);
10 +    close(fd);
11 +    return 0;
12 +  }
13    if (r && (cdb_datalen(&c) == 2))
14 -    if (cdb_read(&c,clientloc,2,cdb_datapos(&c)) == -1) return 0;
15 +    if (cdb_read(&c,clientloc,2,cdb_datapos(&c)) == -1) {
16 +      cdb_free(&c);
17 +      close(fd);
18 +      return 0;
19 +    }
20  
21    r = doit(q,qtype);
22