Author: tridge
Date: 2006-03-13 06:58:09 +0000 (Mon, 13 Mar 2006)
New Revision: 14308

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14308

Log:

fixed an out of range shift and an uninitialised error




Modified:
   branches/SAMBA_4_0/source/lib/util/idtree.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/util/idtree.c
===================================================================
--- branches/SAMBA_4_0/source/lib/util/idtree.c 2006-03-13 06:57:11 UTC (rev 
14307)
+++ branches/SAMBA_4_0/source/lib/util/idtree.c 2006-03-13 06:58:09 UTC (rev 
14308)
@@ -107,6 +107,8 @@
        int l, id;
        uint32_t bm;
 
+       memset(pa, 0, sizeof(pa));
+
        id = *starting_id;
        p = idp->top;
        l = idp->layers;
@@ -271,7 +273,7 @@
        /* Mask off upper bits we don't use for the search. */
        id &= MAX_ID_MASK;
 
-       while (n > 0 && p) {
+       while (n >= IDR_BITS && p) {
                n -= IDR_BITS;
                p = p->ary[(id >> n) & IDR_MASK];
        }

Reply via email to