NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/47806 ("Abort trap" when running Linux lddconfig)



The following reply was made to PR kern/47806; it has been noted by GNATS.

From: David Holland <dholland-bugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: kern/47806 ("Abort trap" when running Linux lddconfig)
Date: Tue, 3 Sep 2013 03:34:09 +0000

 On Tue, Aug 27, 2013 at 10:20:01PM +0000, Sergio Lopez wrote:
  >  ldconfig uses dirent's d_type to determine whether an entry is a
  >  regular file or a link, and it's getting confused by bogus values on
  >  said field.
  >  
  >  The emulation code puts d_type just after the d_name string, but glibc
  >  expects to find it at the end of the record, which, as the structure
  >  is ALIGN'ed, could be at a different offset.
 
 It might be a good idea to insert the type in both places, in case
 some older version of glibc does it the other way or the behavior
 depends on what glibc thinks the kernel version is.
 
 I think the tidy way to write it would be
 
    idb.d_name[bdp->d_namlen + 1] = 0;
    idb.d_name[ALIGN(bdp->d_namlen) + 1] = 0;
 
 if I understand all the bits correctly.
 
 -- 
 David A. Holland
 dholland%netbsd.org@localhost
 


Home | Main Index | Thread Index | Old Index