Various tweaks to Encode
[p5sagit/p5-mst-13.2.git] / regcomp.c
index c124d48..6726ba1 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -505,6 +505,8 @@ S_scan_commit(pTHX_ RExC_state_t *pRExC_state, scan_data_t *data)
            data->offset_float_max = (l
                                      ? data->last_start_max
                                      : data->pos_min + data->pos_delta);
+           if ((U32)data->offset_float_max > (U32)I32_MAX)
+               data->offset_float_max = I32_MAX;
            if (data->flags & SF_BEFORE_EOL)
                data->flags
                    |= ((data->flags & SF_BEFORE_EOL) << SF_FL_SHIFT_EOL);
@@ -3597,7 +3599,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state)
            case 'p':
            case 'P':
                if (RExC_parse >= RExC_end)
-                   vFAIL("Empty \\p{}");
+                   vFAIL2("Empty \\%c{}", (U8)value);
                if (*RExC_parse == '{') {
                    U8 c = (U8)value;
                    e = strchr(RExC_parse++, '}');