datapath: Avoid bad array reference for missing group in ODPAT_OUTPUT_GROUP.
authorBen Pfaff <blp@nicira.com>
Wed, 27 May 2009 18:46:20 +0000 (11:46 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 27 May 2009 18:46:20 +0000 (11:46 -0700)
commitcc51da27abcbef478e976676b15368cfca318018
tree940f981fbaa2a483ca3070c3fabf9235946470fa
parentd4f8946230392eaeb837f19ff5ada352ee6d192f
datapath: Avoid bad array reference for missing group in ODPAT_OUTPUT_GROUP.

When ODPAT_OUTPUT_GROUP referenced a group that hadn't been created,
output_group() would return a negative number other than -1.
execute_actions() would pass this later to do_output(), which would then
use it as a bogus array index, accessing invalid memory.

This commit fixes it by making it return -1 instead, which the caller
interprets correctly.

Thanks to Justin for leading me to scrutinize this code.
datapath/actions.c