[ovs-discuss] Arguments to memcmp() must be nonnull
neeraj mehta
mehtaneeraj07 at gmail.com
Mon Aug 10 10:16:45 UTC 2015
Hi,
There is a possible defect in "utilities/ovs-ofctl.c" line 2013 OVS-2.3.2.
In ovs-ofctl.c, NULL(in certain conditions) being passed as argument in
memcmp().
ISO C says that the arguments to memcmp() must not be NULL.
---
"lib/ofpbuf.h" 425L, 14598C OVS-2.3.2
static inline void * ofpbuf_l3(const struct ofpbuf *b)
{
return b->l3_ofs != UINT16_MAX ? (char *)b->frame + b->l3_ofs : NULL;
}
---
---
"utilities/ovs-ofctl.c" line 2013 OVS-2.3.2
if (ofptype_pull(&type, reply)
|| type != OFPTYPE_ECHO_REPLY
|| ofpbuf_size(reply) != payload
|| memcmp(ofpbuf_l3(request), ofpbuf_l3(reply), payload)) {
---
One of possible solutions for this can be:
---
"utilities/ovs-ofctl.c" line 2013 OVS-2.3.2
if (ofptype_pull(&type, reply)
|| type != OFPTYPE_ECHO_REPLY
|| ofpbuf_size(reply) != payload
+ || !ofpbuf_l3(request) || !ofpbuf_l3(reply)
|| memcmp(ofpbuf_l3(request), ofpbuf_l3(reply), payload)) {
---
Can someone confirm the above understanding?
If this is an issue, I will submit a patch against this.
Regards
Neeraj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20150810/079d4a0f/attachment-0002.html>
More information about the discuss
mailing list