Message ID | 20220602035456.3772669-1-ihrachys@redhat.com |
---|---|
State | Accepted |
Headers | show |
Series | [ovs-dev] Fix ubsan warning on 0-len memcpy from NULL pointer | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
ovsrobot/github-robot-_Build_and_Test | success | github build: passed |
ovsrobot/github-robot-_ovn-kubernetes | success | github build: passed |
On 6/2/22 05:54, Ihar Hrachyshka wrote: > Fixes fa8c591fa2a7("Support LSP:options:requested-chassis as a list") > > Signed-off-by: Ihar Hrachyshka <ihrachys@redhat.com> > --- Looks good to me, thanks! Acked-by: Dumitru Ceara <dceara@redhat.com>
Thanks for the quick fix Ihar. I pushed this to main and branch-22.06 On 6/1/22 23:54, Ihar Hrachyshka wrote: > Fixes fa8c591fa2a7("Support LSP:options:requested-chassis as a list") > > Signed-off-by: Ihar Hrachyshka <ihrachys@redhat.com> > --- > controller/binding.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/controller/binding.c b/controller/binding.c > index 8a8570f13..2279570f9 100644 > --- a/controller/binding.c > +++ b/controller/binding.c > @@ -944,8 +944,10 @@ append_additional_encap(const struct sbrec_port_binding *pb, > { > struct sbrec_encap **additional_encap = xmalloc( > (pb->n_additional_encap + 1) * (sizeof *additional_encap)); > - memcpy(additional_encap, pb->additional_encap, > - pb->n_additional_encap * (sizeof *additional_encap)); > + if (pb->n_additional_encap) { > + memcpy(additional_encap, pb->additional_encap, > + pb->n_additional_encap * (sizeof *additional_encap)); > + } > additional_encap[pb->n_additional_encap] = (struct sbrec_encap *) encap; > sbrec_port_binding_set_additional_encap( > pb, additional_encap, pb->n_additional_encap + 1); > @@ -1012,8 +1014,10 @@ append_additional_chassis(const struct sbrec_port_binding *pb, > { > struct sbrec_chassis **additional_chassis = xmalloc( > (pb->n_additional_chassis + 1) * (sizeof *additional_chassis)); > - memcpy(additional_chassis, pb->additional_chassis, > - pb->n_additional_chassis * (sizeof *additional_chassis)); > + if (pb->n_additional_chassis) { > + memcpy(additional_chassis, pb->additional_chassis, > + pb->n_additional_chassis * (sizeof *additional_chassis)); > + } > additional_chassis[pb->n_additional_chassis] = ( > (struct sbrec_chassis *) chassis_rec); > sbrec_port_binding_set_additional_chassis( >
diff --git a/controller/binding.c b/controller/binding.c index 8a8570f13..2279570f9 100644 --- a/controller/binding.c +++ b/controller/binding.c @@ -944,8 +944,10 @@ append_additional_encap(const struct sbrec_port_binding *pb, { struct sbrec_encap **additional_encap = xmalloc( (pb->n_additional_encap + 1) * (sizeof *additional_encap)); - memcpy(additional_encap, pb->additional_encap, - pb->n_additional_encap * (sizeof *additional_encap)); + if (pb->n_additional_encap) { + memcpy(additional_encap, pb->additional_encap, + pb->n_additional_encap * (sizeof *additional_encap)); + } additional_encap[pb->n_additional_encap] = (struct sbrec_encap *) encap; sbrec_port_binding_set_additional_encap( pb, additional_encap, pb->n_additional_encap + 1); @@ -1012,8 +1014,10 @@ append_additional_chassis(const struct sbrec_port_binding *pb, { struct sbrec_chassis **additional_chassis = xmalloc( (pb->n_additional_chassis + 1) * (sizeof *additional_chassis)); - memcpy(additional_chassis, pb->additional_chassis, - pb->n_additional_chassis * (sizeof *additional_chassis)); + if (pb->n_additional_chassis) { + memcpy(additional_chassis, pb->additional_chassis, + pb->n_additional_chassis * (sizeof *additional_chassis)); + } additional_chassis[pb->n_additional_chassis] = ( (struct sbrec_chassis *) chassis_rec); sbrec_port_binding_set_additional_chassis(
Fixes fa8c591fa2a7("Support LSP:options:requested-chassis as a list") Signed-off-by: Ihar Hrachyshka <ihrachys@redhat.com> --- controller/binding.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)