Michael Furr wrote:

On Wed, 1 Dec 2004, Samuel Mimram wrote:


In file vorbis_stubs.c, function copy_buffer:120:
CAMLparam/local was used but there is no CAMLreturn on this branch

Just a small comment on this one: this is a "false alarm". It is never
called directly from caml. It's only called within vorbis_stubs.c and
its result is always CAMLreturned, so...

I believe it is still a problem.  If you look in caml/memory.h, you see
that CAMLlocal1 updates a global struct pointer "caml_local_roots" to
point to a structure stored in the stack of the function.  When you call
CAMLreturn, this pointer is reset to its previous position.  So the
problem is that if you don't call CAMLreturn, the garbage collector's
roots table points into a random piece of stack space.

Right. I'll change that too then...

Thanks,

Samuel.

Reply via email to