summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pp_pack.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/pp_pack.c b/pp_pack.c
index 2e830f40f3..8bfdd5b075 100644
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -1411,13 +1411,10 @@ S_unpack_rec(pTHX_ register tempsym_t* symptr, register char *s, char *strbeg, c
break;
case 'p':
while (len-- > 0) {
- if (sizeof(char*) > strend - s)
- break;
- else {
- Copy(s, &aptr, 1, char*);
- DO_BO_UNPACK_P(aptr);
- s += sizeof(char*);
- }
+ assert (sizeof(char*) <= strend - s);
+ Copy(s, &aptr, 1, char*);
+ DO_BO_UNPACK_P(aptr);
+ s += sizeof(char*);
/* newSVpv generates undef if aptr is NULL */
PUSHs(sv_2mortal(newSVpv(aptr, 0)));
}