Message ID | 20200318134849.237011-1-jusual@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/rdma/vmw/pvrdma_dev_ring: Replace strncpy with pstrcpy | expand |
Thanks, Reviewed-by: Yuval Shaia <yuval.shaia.ml.gmail.com> On Wed, 18 Mar 2020 at 15:49, Julia Suvorova <jusual@redhat.com> wrote: > ring->name is defined as 'char name[MAX_RING_NAME_SZ]'. Replace untruncated > strncpy with QEMU function. > This case prevented QEMU from compiling with --enable-sanitizers. > > Signed-off-by: Julia Suvorova <jusual@redhat.com> > --- > hw/rdma/vmw/pvrdma_dev_ring.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/rdma/vmw/pvrdma_dev_ring.c b/hw/rdma/vmw/pvrdma_dev_ring.c > index d7bc7f5ccc..c2b3dd70a9 100644 > --- a/hw/rdma/vmw/pvrdma_dev_ring.c > +++ b/hw/rdma/vmw/pvrdma_dev_ring.c > @@ -16,6 +16,7 @@ > #include "qemu/osdep.h" > #include "hw/pci/pci.h" > #include "cpu.h" > +#include "qemu/cutils.h" > > #include "trace.h" > > @@ -30,8 +31,7 @@ int pvrdma_ring_init(PvrdmaRing *ring, const char *name, > PCIDevice *dev, > int i; > int rc = 0; > > - strncpy(ring->name, name, MAX_RING_NAME_SZ); > - ring->name[MAX_RING_NAME_SZ - 1] = 0; > + pstrcpy(ring->name, MAX_RING_NAME_SZ, name); > ring->dev = dev; > ring->ring_state = ring_state; > ring->max_elems = max_elems; > -- > 2.24.1 > >
On Wed, Mar 18, 2020 at 02:48:49PM +0100, Julia Suvorova wrote: > ring->name is defined as 'char name[MAX_RING_NAME_SZ]'. Replace untruncated > strncpy with QEMU function. > This case prevented QEMU from compiling with --enable-sanitizers. > > Signed-off-by: Julia Suvorova <jusual@redhat.com> > --- > hw/rdma/vmw/pvrdma_dev_ring.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Here is my equivalent patch <20200316160702.478964-3-stefanha@redhat.com> but feel free to merge this. Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
On Fri, Mar 20, 2020 at 4:20 PM Stefan Hajnoczi <stefanha@gmail.com> wrote: > > On Wed, Mar 18, 2020 at 02:48:49PM +0100, Julia Suvorova wrote: > > ring->name is defined as 'char name[MAX_RING_NAME_SZ]'. Replace untruncated > > strncpy with QEMU function. > > This case prevented QEMU from compiling with --enable-sanitizers. > > > > Signed-off-by: Julia Suvorova <jusual@redhat.com> > > --- > > hw/rdma/vmw/pvrdma_dev_ring.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > Here is my equivalent patch > <20200316160702.478964-3-stefanha@redhat.com> but feel free to merge > this. Oops, sorry, I guess I didn't search carefully enough for the solution. > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff --git a/hw/rdma/vmw/pvrdma_dev_ring.c b/hw/rdma/vmw/pvrdma_dev_ring.c index d7bc7f5ccc..c2b3dd70a9 100644 --- a/hw/rdma/vmw/pvrdma_dev_ring.c +++ b/hw/rdma/vmw/pvrdma_dev_ring.c @@ -16,6 +16,7 @@ #include "qemu/osdep.h" #include "hw/pci/pci.h" #include "cpu.h" +#include "qemu/cutils.h" #include "trace.h" @@ -30,8 +31,7 @@ int pvrdma_ring_init(PvrdmaRing *ring, const char *name, PCIDevice *dev, int i; int rc = 0; - strncpy(ring->name, name, MAX_RING_NAME_SZ); - ring->name[MAX_RING_NAME_SZ - 1] = 0; + pstrcpy(ring->name, MAX_RING_NAME_SZ, name); ring->dev = dev; ring->ring_state = ring_state; ring->max_elems = max_elems;
ring->name is defined as 'char name[MAX_RING_NAME_SZ]'. Replace untruncated strncpy with QEMU function. This case prevented QEMU from compiling with --enable-sanitizers. Signed-off-by: Julia Suvorova <jusual@redhat.com> --- hw/rdma/vmw/pvrdma_dev_ring.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)