* libxc: memory leak in handle_hvm_context
@ 2019-05-17 11:49 ` Viktor Mitin
0 siblings, 0 replies; 6+ messages in thread
From: Viktor Mitin @ 2019-05-17 11:49 UTC (permalink / raw)
To: Andrew Cooper, Ian Campbell, xen-devel; +Cc: Volodymyr Babchuk
Hi All,
It seems there is a memory leak in libxc function handle_hvm_context
(in file tools/libxc/xc_sr_restore_x86_hvm.c.). There is a malloc of
variable p without free.
Please take a look.
+/*
+ * Process an HVM_CONTEXT record from the stream.
+ */
+static int handle_hvm_context(struct xc_sr_context *ctx,
+ struct xc_sr_record *rec)
+{
+ xc_interface *xch = ctx->xch;
+ void *p;
+
+ p = malloc(rec->length);
+ if ( !p )
+ {
+ ERROR("Unable to allocate %u bytes for hvm context", rec->length);
+ return -1;
+ }
+
+ free(ctx->x86_hvm.restore.context);
+
+ ctx->x86_hvm.restore.context = memcpy(p, rec->data, rec->length);
+ ctx->x86_hvm.restore.contextsz = rec->length;
+
+ return 0;
+}
Thanks
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Xen-devel] libxc: memory leak in handle_hvm_context
@ 2019-05-17 11:49 ` Viktor Mitin
0 siblings, 0 replies; 6+ messages in thread
From: Viktor Mitin @ 2019-05-17 11:49 UTC (permalink / raw)
To: Andrew Cooper, Ian Campbell, xen-devel; +Cc: Volodymyr Babchuk
Hi All,
It seems there is a memory leak in libxc function handle_hvm_context
(in file tools/libxc/xc_sr_restore_x86_hvm.c.). There is a malloc of
variable p without free.
Please take a look.
+/*
+ * Process an HVM_CONTEXT record from the stream.
+ */
+static int handle_hvm_context(struct xc_sr_context *ctx,
+ struct xc_sr_record *rec)
+{
+ xc_interface *xch = ctx->xch;
+ void *p;
+
+ p = malloc(rec->length);
+ if ( !p )
+ {
+ ERROR("Unable to allocate %u bytes for hvm context", rec->length);
+ return -1;
+ }
+
+ free(ctx->x86_hvm.restore.context);
+
+ ctx->x86_hvm.restore.context = memcpy(p, rec->data, rec->length);
+ ctx->x86_hvm.restore.contextsz = rec->length;
+
+ return 0;
+}
Thanks
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libxc: memory leak in handle_hvm_context
@ 2019-05-17 11:56 ` Viktor Mitin
0 siblings, 0 replies; 6+ messages in thread
From: Viktor Mitin @ 2019-05-17 11:56 UTC (permalink / raw)
To: Andrew Cooper, Ian Campbell, xen-devel; +Cc: Volodymyr Babchuk
There is no memory leak in case when handle_hvm_context function is
called next time.
So the code seems ok, please ignore the mail, sorry for confusion.
Thanks
On Fri, May 17, 2019 at 2:49 PM Viktor Mitin <viktor.mitin.19@gmail.com> wrote:
>
> Hi All,
>
> It seems there is a memory leak in libxc function handle_hvm_context
> (in file tools/libxc/xc_sr_restore_x86_hvm.c.). There is a malloc of
> variable p without free.
> Please take a look.
>
> +/*
> + * Process an HVM_CONTEXT record from the stream.
> + */
> +static int handle_hvm_context(struct xc_sr_context *ctx,
> + struct xc_sr_record *rec)
> +{
> + xc_interface *xch = ctx->xch;
> + void *p;
> +
> + p = malloc(rec->length);
> + if ( !p )
> + {
> + ERROR("Unable to allocate %u bytes for hvm context", rec->length);
> + return -1;
> + }
> +
> + free(ctx->x86_hvm.restore.context);
> +
> + ctx->x86_hvm.restore.context = memcpy(p, rec->data, rec->length);
> + ctx->x86_hvm.restore.contextsz = rec->length;
> +
> + return 0;
> +}
>
> Thanks
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xen-devel] libxc: memory leak in handle_hvm_context
@ 2019-05-17 11:56 ` Viktor Mitin
0 siblings, 0 replies; 6+ messages in thread
From: Viktor Mitin @ 2019-05-17 11:56 UTC (permalink / raw)
To: Andrew Cooper, Ian Campbell, xen-devel; +Cc: Volodymyr Babchuk
There is no memory leak in case when handle_hvm_context function is
called next time.
So the code seems ok, please ignore the mail, sorry for confusion.
Thanks
On Fri, May 17, 2019 at 2:49 PM Viktor Mitin <viktor.mitin.19@gmail.com> wrote:
>
> Hi All,
>
> It seems there is a memory leak in libxc function handle_hvm_context
> (in file tools/libxc/xc_sr_restore_x86_hvm.c.). There is a malloc of
> variable p without free.
> Please take a look.
>
> +/*
> + * Process an HVM_CONTEXT record from the stream.
> + */
> +static int handle_hvm_context(struct xc_sr_context *ctx,
> + struct xc_sr_record *rec)
> +{
> + xc_interface *xch = ctx->xch;
> + void *p;
> +
> + p = malloc(rec->length);
> + if ( !p )
> + {
> + ERROR("Unable to allocate %u bytes for hvm context", rec->length);
> + return -1;
> + }
> +
> + free(ctx->x86_hvm.restore.context);
> +
> + ctx->x86_hvm.restore.context = memcpy(p, rec->data, rec->length);
> + ctx->x86_hvm.restore.contextsz = rec->length;
> +
> + return 0;
> +}
>
> Thanks
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libxc: memory leak in handle_hvm_context
@ 2019-05-17 12:23 ` Andrew Cooper
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Cooper @ 2019-05-17 12:23 UTC (permalink / raw)
To: Viktor Mitin, Ian Campbell, xen-devel; +Cc: Volodymyr Babchuk
(Apologies for use of outlook - I'm having email problems atm).
There is no memory leak at all.
x = memcpy(y, ...);
is an "x = y;" assignment in disguise. Recall that memcpy() returns y, and isn't a void function.
~Andrew
________________________________________
From: Viktor Mitin <viktor.mitin.19@gmail.com>
Sent: 17 May 2019 12:56
To: Andrew Cooper; Ian Campbell; xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk
Subject: Re: libxc: memory leak in handle_hvm_context
There is no memory leak in case when handle_hvm_context function is
called next time.
So the code seems ok, please ignore the mail, sorry for confusion.
Thanks
On Fri, May 17, 2019 at 2:49 PM Viktor Mitin <viktor.mitin.19@gmail.com> wrote:
>
> Hi All,
>
> It seems there is a memory leak in libxc function handle_hvm_context
> (in file tools/libxc/xc_sr_restore_x86_hvm.c.). There is a malloc of
> variable p without free.
> Please take a look.
>
> +/*
> + * Process an HVM_CONTEXT record from the stream.
> + */
> +static int handle_hvm_context(struct xc_sr_context *ctx,
> + struct xc_sr_record *rec)
> +{
> + xc_interface *xch = ctx->xch;
> + void *p;
> +
> + p = malloc(rec->length);
> + if ( !p )
> + {
> + ERROR("Unable to allocate %u bytes for hvm context", rec->length);
> + return -1;
> + }
> +
> + free(ctx->x86_hvm.restore.context);
> +
> + ctx->x86_hvm.restore.context = memcpy(p, rec->data, rec->length);
> + ctx->x86_hvm.restore.contextsz = rec->length;
> +
> + return 0;
> +}
>
> Thanks
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xen-devel] libxc: memory leak in handle_hvm_context
@ 2019-05-17 12:23 ` Andrew Cooper
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Cooper @ 2019-05-17 12:23 UTC (permalink / raw)
To: Viktor Mitin, Ian Campbell, xen-devel; +Cc: Volodymyr Babchuk
(Apologies for use of outlook - I'm having email problems atm).
There is no memory leak at all.
x = memcpy(y, ...);
is an "x = y;" assignment in disguise. Recall that memcpy() returns y, and isn't a void function.
~Andrew
________________________________________
From: Viktor Mitin <viktor.mitin.19@gmail.com>
Sent: 17 May 2019 12:56
To: Andrew Cooper; Ian Campbell; xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk
Subject: Re: libxc: memory leak in handle_hvm_context
There is no memory leak in case when handle_hvm_context function is
called next time.
So the code seems ok, please ignore the mail, sorry for confusion.
Thanks
On Fri, May 17, 2019 at 2:49 PM Viktor Mitin <viktor.mitin.19@gmail.com> wrote:
>
> Hi All,
>
> It seems there is a memory leak in libxc function handle_hvm_context
> (in file tools/libxc/xc_sr_restore_x86_hvm.c.). There is a malloc of
> variable p without free.
> Please take a look.
>
> +/*
> + * Process an HVM_CONTEXT record from the stream.
> + */
> +static int handle_hvm_context(struct xc_sr_context *ctx,
> + struct xc_sr_record *rec)
> +{
> + xc_interface *xch = ctx->xch;
> + void *p;
> +
> + p = malloc(rec->length);
> + if ( !p )
> + {
> + ERROR("Unable to allocate %u bytes for hvm context", rec->length);
> + return -1;
> + }
> +
> + free(ctx->x86_hvm.restore.context);
> +
> + ctx->x86_hvm.restore.context = memcpy(p, rec->data, rec->length);
> + ctx->x86_hvm.restore.contextsz = rec->length;
> +
> + return 0;
> +}
>
> Thanks
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-05-17 12:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-17 11:49 libxc: memory leak in handle_hvm_context Viktor Mitin
2019-05-17 11:49 ` [Xen-devel] " Viktor Mitin
2019-05-17 11:56 ` Viktor Mitin
2019-05-17 11:56 ` [Xen-devel] " Viktor Mitin
2019-05-17 12:23 ` Andrew Cooper
2019-05-17 12:23 ` [Xen-devel] " Andrew Cooper
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.