Check for upper bounds of nselectors.

Currently there is no check for the upper bounds of the
nselectors. Hence, a corrupt input can cause a segfault.

This issue was discovered by one of our fuzzers. The actual error was:

../bzip2-1.0.6/decompress.c:299:10: runtime error: index 18002 out of bounds for type 'UChar [18002]'

Change-Id: I1f749ca7a54cce95d671f184b6425ac659767ffc
diff --git a/decompress.c b/decompress.c
index 311f566..391552d 100644
--- a/decompress.c
+++ b/decompress.c
@@ -288,6 +288,7 @@
       if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
       GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
       if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
+      if (nSelectors > BZ_MAX_SELECTORS) RETURN(BZ_DATA_ERROR);
       for (i = 0; i < nSelectors; i++) {
          j = 0;
          while (True) {