ovsdb-server: Fix null pointer deref when bool "is_connected" is empty.
authorBen Pfaff <blp@nicira.com>
Fri, 21 Sep 2012 18:12:39 +0000 (11:12 -0700)
committerBen Pfaff <blp@nicira.com>
Tue, 25 Sep 2012 05:39:09 +0000 (22:39 -0700)
commitc824c8a39854199a4221256281b1322cfae33469
tree7205d40dfa7e2de92ca26a5eaa00f7589dd10509
parent5396b42ca2a14c760cb2d32e7ec59525866fddbb
ovsdb-server: Fix null pointer deref when bool "is_connected" is empty.

The ovsdb-server supports obtaining its remote connection targets from a
database table and updating that table with connection status information.
One of the supported connection status columns is a boolean column named
"is_connected".  The code in ovsdb-server blindly assigned a bool into
this column without checking that it actually had space allocated for one.
This was and is fine with the ovs-vswitchd schema, which always has exactly
one value in this column.  However, if a database schema makes this column
optional, and there are actually no values in it, then this assignment
dereferences a null pointer.

This commit fixes the problem by allocating space for a bool if none has
yet been allocated.

Noticed while adding an extra test for the connection status feature.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
ovsdb/ovsdb-server.c