Index: syntax2.h
===================================================================
--- syntax2.h	(revision 10489)
+++ syntax2.h	(working copy)
@@ -658,6 +658,9 @@
             }
             break;
         case REGEX_CHAR(CharT,'['):
+			if (iend == icur + 1)
+				break;
+
             if( REGEX_CHAR(CharT,':') == *( ++icur )-- )
             {
                 for( size_t i=0; !tok && i < detail::g_cposix_charsets; ++i )
