Daniel P. Berrange wrote:
On Fri, Aug 28, 2009 at 04:56:14PM +0200, Chris Lalancette wrote:
> qemudExtractMonitorPath() was doing a VIR_ALLOC_N followed by a
> strncpy. However, this isn't necessary; we can do the same thing
> using strndup, which is much safer.
>
> Signed-off-by: Chris Lalancette <clalance(a)redhat.com>
> ---
> src/qemu_driver.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/qemu_driver.c b/src/qemu_driver.c
> index 772f2f9..a40d386 100644
> --- a/src/qemu_driver.c
> +++ b/src/qemu_driver.c
> @@ -1029,12 +1029,12 @@ qemudExtractMonitorPath(virConnectPtr conn,
> */
> while (*tmp) {
> if (c_isspace(*tmp)) {
> - if (VIR_ALLOC_N(*path, (tmp-dev)+1) < 0) {
> + *path = strndup(dev, tmp-dev);
> + if (*path == NULL) {
> virReportOOMError(conn);
> return -1;
> }
> - strncpy(*path, dev, (tmp-dev));
> - (*path)[(tmp-dev)] = '\0';
> +
> /* ... now further update offset till we get EOL */
> *offset = tmp - haystack;
> return 0;
ACK
Committed.
--
Chris Lalancette