Fix bug #7669.
[obnox/samba-ctdb.git] / source3 / lib / util_sid.c
index 163c6c210a5d47d9da8802d6a2db4fc130fa118e..130e257bdd3858d45021023bf1df1c186274c7cb 100644 (file)
@@ -408,6 +408,9 @@ bool sid_parse(const char *inbuf, size_t len, DOM_SID *sid)
 
        sid->sid_rev_num = CVAL(inbuf, 0);
        sid->num_auths = CVAL(inbuf, 1);
+       if (sid->num_auths > MAXSUBAUTHS) {
+               return false;
+       }
        memcpy(sid->id_auth, inbuf+2, 6);
        if (len < 8 + sid->num_auths*4)
                return False;