Forbid ++ and -- on readonly values
authorJohn Q. Linux <jql@accessone.com>
Sat, 11 Jan 1997 03:47:16 +0000 (19:47 -0800)
committerChip Salzenberg <chip@atlantic.net>
Wed, 15 Jan 1997 19:24:00 +0000 (07:24 +1200)
commit74c80e585086695d5428ab316ca82fd6931aeabd
tree0c8ee1e82e2b411b4516bf1e6d2d186861b2e273
parent49e60db318dafe6977e7332fc64c4fac32f5eb2c
Forbid ++ and -- on readonly values

Subject: You can ++ and -- readonly integer scalars? (patch included)

  I managed to find an illustration of the bug in a perl one-liner:

perl -e '*a = \100; $a++; print "$a\n"'
101

  Perhaps that's been fixed in one of the beta releases which I'm not
running; or perhaps I'm the only one who finds that slightly incorrect.
If so, ignore the rest of this message.

  You can modify readonly scalars using any of the pre/post
increment/decrement operators. Apparently, the only readonly checking is
done for cases like '100++'.

  I managed to find the relevant code and add some SvREADONLY checks. It
now dies on the inc/dec of readonly scalars with the appropriate nasty
message. I just thought I'd share my patch.

Ashley Winters

p5p-msgid: <Pine.LNX.3.95.970110193330.11249D-100000@jql.accessone.com>
pp.c
pp_hot.c