librpc: Fix a possible array out of bounds access
authorAndreas Schneider <asn@samba.org>
Wed, 25 Nov 2015 11:35:59 +0000 (12:35 +0100)
committerJeremy Allison <jra@samba.org>
Mon, 30 Nov 2015 23:38:23 +0000 (00:38 +0100)
Reported by gcc 5.1.1.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
librpc/rpc/binding.c

index f131d00a88c22a5b8f86667a3246137066ab21ca..d0acd6e78bbb3ed00705ff2033e4e0aa9dae68cd 100644 (file)
@@ -1226,7 +1226,7 @@ _PUBLIC_ enum dcerpc_transport_t dcerpc_transport_by_tower(const struct epm_towe
                        continue; 
                }
 
-               for (j = 0; j < transports[i].num_protocols; j++) {
+               for (j = 0; j < transports[i].num_protocols && j < MAX_PROTSEQ; j++) {
                        if (transports[i].protseq[j] != tower->floors[j+2].lhs.protocol) {
                                break;
                        }