Message ID | 20100602174631.2f681a4c@redhat.com |
---|---|
State | New |
Headers | show |
Luiz Capitulino <lcapitulino@redhat.com> writes: > We should use 'dinfo->serial' length, 'serial' is a pointer, so > the serial number length is currently limited to the pointer size. > > This fixes https://bugs.launchpad.net/qemu/+bug/584143 and is also > valid for stable. > > Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> > --- > vl.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/vl.c b/vl.c > index 417554f..3de2166 100644 > --- a/vl.c > +++ b/vl.c > @@ -1060,7 +1060,7 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque, > dinfo->on_write_error = on_write_error; > dinfo->opts = opts; > if (serial) > - strncpy(dinfo->serial, serial, sizeof(serial)); > + strncpy(dinfo->serial, serial, sizeof(dinfo->serial) - 1); > QTAILQ_INSERT_TAIL(&drives, dinfo, next); > > switch(type) { Correct, because dinfo->serial[] is zero-initialized. Patch conflicts with my "blockdev: Collect block device code in new blockdev.c", but resolution is trivial.
Am 02.06.2010 22:46, schrieb Luiz Capitulino: > We should use 'dinfo->serial' length, 'serial' is a pointer, so > the serial number length is currently limited to the pointer size. > > This fixes https://bugs.launchpad.net/qemu/+bug/584143 and is also > valid for stable. > > Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Thanks, applied to the block branch. Kevin
diff --git a/vl.c b/vl.c index 417554f..3de2166 100644 --- a/vl.c +++ b/vl.c @@ -1060,7 +1060,7 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque, dinfo->on_write_error = on_write_error; dinfo->opts = opts; if (serial) - strncpy(dinfo->serial, serial, sizeof(serial)); + strncpy(dinfo->serial, serial, sizeof(dinfo->serial) - 1); QTAILQ_INSERT_TAIL(&drives, dinfo, next); switch(type) {
We should use 'dinfo->serial' length, 'serial' is a pointer, so the serial number length is currently limited to the pointer size. This fixes https://bugs.launchpad.net/qemu/+bug/584143 and is also valid for stable. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> --- vl.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)