Details
Description
the ctx struct's freed before the exception ( exc ) is raised - so it references invalid memory
ext/couchbase_ext/couchbase_ext.c- exc = ctx->exception; <----
ext/couchbase_ext/couchbase_ext.c- extended = ctx->extended;
ext/couchbase_ext/couchbase_ext.c: free(ctx); <------
ext/couchbase_ext/couchbase_ext.c- if (exc != Qnil) {
ext/couchbase_ext/couchbase_ext.c- rb_exc_raise(exc); <------
ext/couchbase_ext/couchbase_ext.c- }
ext/couchbase_ext/couchbase_ext.c- exc = ctx->exception; <----
ext/couchbase_ext/couchbase_ext.c- extended = ctx->extended;
ext/couchbase_ext/couchbase_ext.c: free(ctx); <------
ext/couchbase_ext/couchbase_ext.c- if (exc != Qnil) {
ext/couchbase_ext/couchbase_ext.c- rb_exc_raise(exc); <------
ext/couchbase_ext/couchbase_ext.c- }
Activity
Sergey Avseyev
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Fix Version/s | 1.1.3 [ 10361 ] | |
| Resolution | Fixed [ 1 ] |
Sergey Avseyev
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |