[libvirt] [ocaml PATCH] Use caml_raise_out_of_memory() where needed.
Richard W.M. Jones
rjones at redhat.com
Thu Sep 5 12:58:30 UTC 2019
On Thu, Sep 05, 2019 at 02:54:53PM +0200, Pino Toscano wrote:
> Raise the proper exception on malloc failures.
>
> Signed-off-by: Pino Toscano <ptoscano at redhat.com>
> ---
> libvirt/libvirt_c_oneoffs.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c
> index e23c0db..40384e8 100644
> --- a/libvirt/libvirt_c_oneoffs.c
> +++ b/libvirt/libvirt_c_oneoffs.c
> @@ -749,7 +749,7 @@ ocaml_libvirt_domain_get_cpu_stats (value domv)
> CHECK_ERROR (nparams < 0, "virDomainGetCPUStats");
>
> if ((params = malloc(sizeof(*params) * nparams * 128)) == NULL)
> - caml_failwith ("virDomainGetCPUStats: malloc");
> + caml_raise_out_of_memory ();
>
> cpustats = caml_alloc (nr_pcpus, 0); /* cpustats: array of params(list of typed_param) */
> cpu = 0;
> @@ -1461,7 +1461,7 @@ ocaml_libvirt_event_add_timeout (value connv, value ms, value callback_id)
> /* Store the int64 callback_id as the opaque data so the OCaml
> callback can demultiplex to the correct OCaml handler. */
> if ((opaque = malloc(sizeof(long))) == NULL)
> - caml_failwith ("virEventAddTimeout: malloc");
> + caml_raise_out_of_memory ();
> *((long*)opaque) = Int64_val(callback_id);
> NONBLOCKING(r = virEventAddTimeout(Int_val(ms), cb, opaque, freecb));
> CHECK_ERROR(r == -1, "virEventAddTimeout");
> @@ -1551,7 +1551,7 @@ ocaml_libvirt_connect_domain_event_register_any(value connv, value domv, value c
> /* Store the int64 callback_id as the opaque data so the OCaml
> callback can demultiplex to the correct OCaml handler. */
> if ((opaque = malloc(sizeof(long))) == NULL)
> - caml_failwith ("virConnectDomainEventRegisterAny: malloc");
> + caml_raise_out_of_memory ();
> *((long*)opaque) = Int64_val(callback_id);
> NONBLOCKING(r = virConnectDomainEventRegisterAny(conn, dom, eventID, cb, opaque, freecb));
> CHECK_ERROR(r == -1, "virConnectDomainEventRegisterAny");
ACK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v
More information about the libvir-list
mailing list