Alexandre Julliard : dnsapi: Fix some potential infinite loops because of an unsigned loop counter.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jul 13 08:30:10 CDT 2007


Module: wine
Branch: master
Commit: 98934f20d8149ad93355e86d8a5f0a96b57678e9
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=98934f20d8149ad93355e86d8a5f0a96b57678e9

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jul 12 17:32:07 2007 +0200

dnsapi: Fix some potential infinite loops because of an unsigned loop counter.

---

 dlls/dnsapi/query.c  |    3 +--
 dlls/dnsapi/record.c |    3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/dlls/dnsapi/query.c b/dlls/dnsapi/query.c
index 9522929..608f496 100644
--- a/dlls/dnsapi/query.c
+++ b/dlls/dnsapi/query.c
@@ -418,8 +418,7 @@ static DNS_STATUS dns_copy_rdata( ns_msg msg, const ns_rr *rr, DNS_RECORDA *r, W
             r->Data.TXT.pStringArray[i] = dns_str_from_rdata( pos );
             if (!r->Data.TXT.pStringArray[i])
             {
-                for (--i; i >= 0; i--)
-                    dns_free( r->Data.TXT.pStringArray[i] );
+                while (i > 0) dns_free( r->Data.TXT.pStringArray[--i] );
                 return ERROR_NOT_ENOUGH_MEMORY;
             }
             i++;
diff --git a/dlls/dnsapi/record.c b/dlls/dnsapi/record.c
index d8941fd..8680b31 100644
--- a/dlls/dnsapi/record.c
+++ b/dlls/dnsapi/record.c
@@ -443,8 +443,7 @@ PDNS_RECORD WINAPI DnsRecordCopyEx( PDNS_RECORD src, DNS_CHARSET in, DNS_CHARSET
 
             if (!dst->Data.TXT.pStringArray[i])
             {
-                for (--i; i >= 0; i--)
-                    dns_free( dst->Data.TXT.pStringArray[i] );
+                while (i > 0) dns_free( dst->Data.TXT.pStringArray[--i] );
                 goto error;
             }
         }




More information about the wine-cvs mailing list