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

Bug#192834: marked as done (Glibc's method of resetting getopt different, causes interoperability problems)



Your message dated Mon, 6 Jul 2009 21:39:28 +0200
with message-id <20090706193928.GB23083@hall.aurel32.net>
and subject line Re: Bug#192834: Bug 192834 - Glibc's method of resetting getopt different, causes interoperability problems
has caused the Debian Bug report #192834,
regarding Glibc's method of resetting getopt different, causes interoperability problems
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
192834: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=192834
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: e2fsprogs
Version: 1.33-1
Severity: normal

Typing the following sequence of commands into debugfs makes it
segfault:

ls -l
cd <dir>
ls

where <dir> is some directory in the root of the fs.

-- System Information
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux dragon 2.4.20 #1 Wed Jan 29 22:37:45 CST 2003 i686
Locale: LANG=C, LC_CTYPE=en_US

Versions of packages e2fsprogs depends on:
ii  libblkid1                     1.33-1     Block device id library
ii  libc6                         2.3.1-16   GNU C Library: Shared libraries an



--- End Message ---
--- Begin Message ---
On Mon, Jul 06, 2009 at 05:30:45PM +0200, John Hughes wrote:
> Seems to be fixed (in Lenny at least)

Ok, thanks for the info, closing the bug.

> $ dpkg -l libc6
> Desired=Unknown/Install/Remove/Purge/Hold
> | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
> |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
> ||/ Name           Version        Description
> +++-==============-==============-============================================
> ii  libc6          2.7-18         GNU C Library: Shared libraries
>
> $  ./a.out optind before loop 1
> Got a optind=2 optopt=0 opterr=1
> got b optind=4 optopt=0 opterr=1 optarg=first
> optind after loop 4
> optind before loop 1
> Got a optind=2 optopt=0 opterr=1
> got b optind=4 optopt=0 opterr=1 optarg=second
> optind after loop 4
>
>

> #include <stdio.h>
> #include <unistd.h>
> 
> 
> void test (int argc, char **argv) {
> 	int ch;
> 	optind = 1;
> 	printf ("optind before loop %d\n", optind);
> 	while ((ch = getopt (argc, argv, "ab:")) != -1) {
> 		switch (ch) {
> 		    case 'a':
> 			printf ("Got a optind=%d optopt=%d opterr=%d\n", 
> 				optind, optopt, opterr);
> 			break;
> 		    case 'b':
> 			printf ("got b optind=%d optopt=%d opterr=%d "
> 				"optarg=%s\n", optind, optopt, opterr, 
> 				optarg);
> 			break;
> 		    default:
> 			printf ("bad ch=%d optind=%d optopt=%d opterr=%d\n", 
> 				ch, optind, optopt, opterr);
> 		}
> 	}
> 	printf ("optind after loop %d\n", optind);
> 	
> }
> 
> #define LEN(arr) ((sizeof arr) / sizeof arr[0])
> 
> char *first[] = { "optind", "-a", "-b", "first", };
> 
> char *second [] = { "optind", "-a", "-b", "second", };
> 
> int main (int argc, char **argv) {
> 	test (LEN(first), first);
> 	test (LEN(second), second);
> 	return 0;
> }
> 	
> 


-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net


--- End Message ---

Reply to: