pidl:NDR/Parser: protect for loops against $length being an expression instead of...
authorStefan Metzmacher <metze@samba.org>
Thu, 11 Jun 2015 06:54:11 +0000 (08:54 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 12 Jun 2015 15:08:19 +0000 (17:08 +0200)
commit3c97bfe9de538d9f551f2c3d77ee3ab820a39b4a
treed3bf34698a08b035e1f14709f4f2ea9b8e603854
parent781cc3d50f18e69bad5faf67ee46f7b1fd28cf2a
pidl:NDR/Parser: protect for loops against $length being an expression instead of a scalar variable

This changes

for (value_cntr_1 = 0; value_cntr_1 < r->out.length?*r->out.length:0; value_cntr_1++) {

into:

for (value_cntr_1 = 0; value_cntr_1 < (r->out.length?*r->out.length:0); value_cntr_1++) {

it fixes a possible endless loop resulting in a crash.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm