General

Profile

jhaberman (Josh Haberman)

  • Login: jhaberman
  • Email: jhaberman@gmail.com
  • Registered on: 09/25/2014
  • Last sign in: 08/31/2021

Issues

open closed Total
Assigned issues 0 0 0
Reported issues 0 2 2

Activity

09/01/2021

12:20 AM Ruby Bug #18140: GC prematurely frees objects from implicit #to_ary conversion, leading to segfault
Amazingly quick confirmation, diagnosis, and fix. Thank you! jhaberman (Josh Haberman)

08/31/2021

11:47 PM Ruby Bug #18140: GC prematurely frees objects from implicit #to_ary conversion, leading to segfault
I should mention that the SEGV goes away if you explicitly convert to array first, instead of letting `Array#concat` do it implicitly:
```ruby
require "test_ext"
GC.stress = true
arr = [nil]
STDERR.puts("Bar.new")
bar = Bar.n...
jhaberman (Josh Haberman)
11:35 PM Ruby Bug #18140 (Closed): GC prematurely frees objects from implicit #to_ary conversion, leading to segfault
The following repro crashes in every version of Ruby starting from 2.5.0 and including the latest (3.0.2):
```c
// test_ext.c
#include "ruby.h"
VALUE cFoo;
// Foo
typedef struct {
int dummy;
} Foo;
static void Foo...
jhaberman (Josh Haberman)

09/26/2014

09:24 PM Ruby Bug #10296: SEGV from unchecked Data_Get_Struct() argument
Yes it seems like all uses of Data_Get_Struct() should be changed to use TypedData_Get_Struct() instead, doesn't it? TypedData* seems like a strictly better interface and it can provide type checking.
There are probably other instance...
jhaberman (Josh Haberman)
12:12 AM Ruby Bug #10296 (Closed): SEGV from unchecked Data_Get_Struct() argument
I can crash all Ruby versions I tried with this program:
```ruby
require 'json'
require 'zlib'

module JSON
module Ext
module Generator
class State
def foo
initialize_copy(Zlib::GzipWriter.new('...
jhaberman (Josh Haberman)

Also available in: Atom