Fixed O(N^2) talloc loop when allocating printer name memory - fix from
authorJeremy Allison <jra@samba.org>
Thu, 6 Sep 2001 15:48:29 +0000 (15:48 +0000)
committerJeremy Allison <jra@samba.org>
Thu, 6 Sep 2001 15:48:29 +0000 (15:48 +0000)
Richard Bollinger <rabollinger@home.com>.
Jeremy.
(This used to be commit 408c0595bbeafca87795e5278656471fbe0540e8)

source3/param/loadparm.c

index 98bb5abd09dbf03996281fb4a090b2bf791e934d..95ba076977611b761edd893ea5a72c0b4d8d3268 100644 (file)
@@ -3344,8 +3344,8 @@ int lp_servicenumber(char *pszServiceName)
        int iService;
 
        for (iService = iNumServices - 1; iService >= 0; iService--)
-               if (VALID(iService) &&
-                   strequal(lp_servicename(iService), pszServiceName))
+               if (VALID(iService) && ServicePtrs[iService]->szService &&
+                               strequal(ServicePtrs[iService]->szService, pszServiceName))
                        break;
        if (iService < 0)
                DEBUG(7,