Skip to content

Commit b3b92d3

Browse files
committed
Fix: Release acquired buffer via PythonBufferAccessLibrary in MarshalModuleBuiltins#load.
1 parent 577e02d commit b3b92d3

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/MarshalModuleBuiltins.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ Object doit(VirtualFrame frame, Object file,
202202
abstract static class LoadsNode extends PythonUnaryClinicBuiltinNode {
203203
@TruffleBoundary
204204
@Specialization(limit = "3")
205-
static Object doit(Object buffer,
205+
Object doit(VirtualFrame frame, Object buffer,
206206
@CachedLibrary("buffer") PythonBufferAccessLibrary bufferLib,
207207
@Cached PRaiseNode raise) {
208208
try {
@@ -211,6 +211,8 @@ static Object doit(Object buffer,
211211
throw raise.raise(PythonBuiltinClassType.ValueError, ErrorMessages.BAD_MARSHAL_DATA_S, e.getMessage());
212212
} catch (Marshal.MarshalError me) {
213213
throw raise.raise(me.type, me.message, me.arguments);
214+
} finally {
215+
bufferLib.release(buffer, frame, this);
214216
}
215217
}
216218

0 commit comments

Comments
 (0)