Package: libshadow-ruby1.8
Severity: important
Version: 1.4.1-7
Tags: patch
Justification: renders package unuseable on AMD64
Very simple to reproduce:
# irb
irb(main):001:0> require 'shadow'
/usr/lib/ruby/1.8/x86_64-linux/shadow.so: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-24) [x86_64-linux]
This *only* occurs on AMD64 systems; my i386 works fine.
Patch attached to fix. When will people learn that 0 is not NULL?
- Matt
diff -urN libshadow-ruby-1.4.1/shadow.c
libshadow-ruby-1.4.1.no-segfaults/shadow.c
--- libshadow-ruby-1.4.1/shadow.c 1999-08-19 07:48:18.000000000 +1000
+++ libshadow-ruby-1.4.1.no-segfaults/shadow.c 2007-05-20 20:09:46.061634250
+1000
@@ -254,10 +254,10 @@
rb_sPasswdEntry = rb_struct_define("PasswdEntry",
"sp_namp","sp_pwdp","sp_lstchg",
"sp_min","sp_max","sp_warn",
- "sp_inact","sp_expire","sp_flag",0);
+ "sp_inact","sp_expire","sp_flag",NULL);
rb_sGroupEntry = rb_struct_define("GroupEntry",
"sg_name","sg_passwd",
- "sg_adm","sg_mem",0);
+ "sg_adm","sg_mem",NULL);
rb_mShadow = rb_define_module("Shadow");
rb_eFileLock = rb_define_class_under(rb_mShadow,"FileLock",rb_eException);