From 3359451f3a1800279d213a79e6f3d25ffdf5241f Mon Sep 17 00:00:00 2001 From: Jonas Kulla Date: Thu, 31 Oct 2013 10:25:54 +0100 Subject: [PATCH] MRI-Binding: Catch exceptions in clone constructors --- binding-mri/binding-util.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/binding-mri/binding-util.h b/binding-mri/binding-util.h index 06bb416..b1ba786 100644 --- a/binding-mri/binding-util.h +++ b/binding-mri/binding-util.h @@ -204,7 +204,9 @@ rb_bool_new(bool value) if (!OBJ_INIT_COPY(self, orig)) /* When would this fail??*/\ return self; \ Klass *k = getPrivateData(orig); \ - setPrivateData(self, new Klass(*k)); \ + Klass *dup; \ + GUARD_EXC( dup = new Klass(*k); ) \ + setPrivateData(self, dup); \ return self; \ }