From 01e884675e3d1cffb0149108225fbd21c3a73f4e Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 27 Apr 2012 16:02:15 -0700 Subject: Fix remove_duplicate_addrs2 to do exactly what it says. Previously it could leave zero addresses in the list. --- source3/libsmb/namequery.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'source3/libsmb/namequery.c') diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c index a604f05d81..0f2c66f32a 100644 --- a/source3/libsmb/namequery.c +++ b/source3/libsmb/namequery.c @@ -1109,7 +1109,7 @@ static int remove_duplicate_addrs2(struct ip_service *iplist, int count ) DEBUG(10,("remove_duplicate_addrs2: " "looking for duplicate address/port pairs\n")); - /* one loop to remove duplicates */ + /* One loop to set duplicates to a zero addr. */ for ( i=0; i0) { + memmove(&iplist[i], + &iplist[i+1], + (count-i-1)*sizeof(struct ip_service)); } count--; - continue; } - i++; } return count; -- cgit