Re: pw is broken?

From: Hartmann, O. <ohartman_at_zedat.fu-berlin.de>
Date: Sat, 09 Mar 2013 15:52:10 +0100
Am 03/09/13 15:34, schrieb hiren panchasara:
> On Mar 8, 2013 9:44 PM, "KT Sin" <ktsin_at_acm.org> wrote:
>>
>> pw is crashing with seg fault due to this change?
>>
>>
> http://svnweb.freebsd.org/base/head/lib/libutil/gr_util.c?r1=245390&r2=247919
> 
> I think the correct fix is committed with:
> http://svnweb.freebsd.org/changeset/base/248102
> 
> Hiren
>>
>> # gdb ./pw
>> GNU gdb 6.1.1 [FreeBSD]
>> Copyright 2004 Free Software Foundation, Inc.
>> GDB is free software, covered by the GNU General Public License, and you
> are
>> welcome to change it and/or distribute copies of it under certain
> conditions.
>> Type "show copying" to see the conditions.
>> There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
>> This GDB was configured as "amd64-marcel-freebsd"...
>> (gdb) run groupadd test123 -g 12345
>> Starting program: /usr/src/usr.sbin/pw/pw groupadd test123 -g 12345
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x0000000080d84a4f in stpcpy () from /lib/libc.so.7
>> (gdb) bt full
>> #0  0x0000000080d84a4f in stpcpy () from /lib/libc.so.7
>> No symbol table info available.
>> #1  0x0000000080a5c00a in grcopy (gr=0x612ce0, newgr=0x81409100, name=0x0,
>>     ndx=0) at /usr/src/lib/libutil/gr_util.c:496
>>         dst = 0x8 <Error reading address 0x8: Bad address>
>>         i = 1090277153
>> #2  0x0000000080a5bdc6 in gr_add (gr=0x612ce0, newmember=0x0)
>>     at /usr/src/lib/libutil/gr_util.c:451
>>         newgr = (struct group *) 0x81409100
>>         len = 0
>>         num_mem = 0
>> #3  0x0000000080a5bd4f in gr_dup (gr=0x612ce0)
>>     at /usr/src/lib/libutil/gr_util.c:434
>> No locals.
>> #4  0x000000000040bad7 in gr_update (grp=0x612ce0, group=0x0) at
> grupd.c:78
>>         pfd = 0
>>         tfd = 4244492
>>         gr = (struct group *) 0x0
>>         old_gr = (struct group *) 0x0
>> #5  0x000000000040ba8f in addgrent (grp=0x612ce0) at grupd.c:111
>> No locals.
>> #6  0x000000000040a83d in pw_group (cnf=0x612bf0, mode=0, args=0x613e78)
>>     at pw_group.c:258
>> ---Type <return> to continue, or q <return> to quit---
>>         grp = (struct group *) 0x612ce0
>>         members = (char **) 0x81485d00
>>         rc = 0
>>         a_name = (struct carg *) 0x8144c0a0
>>         a_gid = (struct carg *) 0x8144c0c0
>>         arg = (struct carg *) 0x0
>>         grmembers = 200
>>         fakegroup = {gr_name = 0x7fffffffdcb9 "test123",
>>   gr_passwd = 0x40fbc9 "*", gr_gid = 12345, gr_mem = 0x81485d00}
>> #7  0x00000000004037fb in main (argc=3, argv=0x7fffffffd9f0) at pw.c:230
>>         which = 1
>>         config = 0x0
>>         cnf = (struct userconf *) 0x612bf0
>>         ch = -1
>>         mode = 0
>>         opts = {{0x40e150
> "V:C:qn:u:c:d:e:p:g:G:mM:k:s:oL:i:w:h:H:Db:NPy:Y",
>>     0x40e180 "V:C:qn:u:rY",
>>     0x40e18c "V:C:qn:u:c:d:e:p:g:G:mM:l:k:s:w:L:h:H:FNPY",
>>     0x40e1b7 "V:C:qn:u:FPa7", 0x40e1c5 "V:C:q", 0x40e1c5 "V:C:q",
>>     0x40e1c5 "V:C:q"}, {0x40e1cb "V:C:qn:g:h:H:M:opNPY",
>>     0x40e1e0 "V:C:qn:g:Y", 0x40e1eb "V:C:qn:d:g:l:h:H:FM:m:NPY",
>>     0x40e205 "V:C:qn:g:FPa", 0x40e1c5 "V:C:q", 0x0, 0x0}}
>>         funcs = {0x405270 <pw_user>, 0x409b60 <pw_group>}
>> (gdb)

But neither r248102 nor r248103 compile!

/usr/src/sys/net80211/ieee80211_output.c:600:23: error: unused variable
'ic' [-Werror,-Wunused-variable]
        struct ieee80211com *ic = ni->ni_ic;)
(
Received on Sat Mar 09 2013 - 13:51:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:35 UTC