diff options
author | Yi-Hung Wei <yihung.wei@gmail.com> | 2020-06-26 11:21:06 -0700 |
---|---|---|
committer | William Tu <u9012063@gmail.com> | 2020-06-27 16:40:04 -0700 |
commit | 98670b77ffe8b36c9d5089022ee36680aeecc542 (patch) | |
tree | e0fdccb285973b56ae8656b600bda97c04289a74 /utilities | |
parent | 51119374ce921fca9cfc62a05cca614f72dc4608 (diff) | |
download | openvswitch-98670b77ffe8b36c9d5089022ee36680aeecc542.tar.gz |
bridge: Fix null dereference on ct_timeout_policy record
Accoridng to vswitch.ovsschema, each CT_Zone record may have
zero or one associcated CT_Timeout_policy. Thus, this patch
checks if ovsrec_ct_timeout_policy exist before accesses the
record.
VMWare-BZ: 2585825
Fixes: 45339539f69d ("ovs-vsctl: Add conntrack zone commands.")
Fixes: 993cae678bca ("ofproto-dpif: Consume CT_Zone, and CT_Timeout_Policy tables")
Reported-by: Yang Song <yangsong@vmware.com>
Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: William Tu <u9012063@gmail.com>
Diffstat (limited to 'utilities')
-rw-r--r-- | utilities/ovs-vsctl.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c index bd3972636..37cc72d40 100644 --- a/utilities/ovs-vsctl.c +++ b/utilities/ovs-vsctl.c @@ -1344,9 +1344,13 @@ cmd_list_zone_tp(struct ctl_context *ctx) struct ovsrec_ct_timeout_policy *tp = zone->timeout_policy; - for (int j = 0; j < tp->n_timeouts; j++) { - ds_put_format(&ctx->output, "%s=%"PRIu64" ", - tp->key_timeouts[j], tp->value_timeouts[j]); + if (tp) { + for (int j = 0; j < tp->n_timeouts; j++) { + ds_put_format(&ctx->output, "%s=%"PRIu64" ", + tp->key_timeouts[j], tp->value_timeouts[j]); + } + } else { + ds_put_cstr(&ctx->output, "system default"); } ds_chomp(&ctx->output, ' '); ds_put_char(&ctx->output, '\n'); |