This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.7.0-48: [BUG] Passing characters above 128 from bash command line

Hi Larry,

> This sounds allot like this report to me:
> <>

I don't think it's the same bug because if I replace copyright.txt with a single printable character (eg. c), then it works.


Larry Hall (Cygwin) wrote:
Edward Lam wrote:
Hi Cygwin 1.7 developers,

I think I've encountered bug in cygwin 1.7.0-48 on WinXP 32-bit. It seems that passing a character on the command line (from either ash.exe or bash.exe) that is greater than 127 to a native win32 process results in arguments being truncated.

Hopefully you can reproduce and fix. Steps to reproduce outlined below.

$ cat bug.c
#include <stdio.h>

int main(int argc, char *argv[])
    int i;
    for (i = 0; i < argc; i++)
        printf("%d: %s\n", i, argv[i]);
    return 0;

$ xxd copyright.txt
0000000: a9                                       .

$ $TOOLROOT/bin/cl -I$TOOLROOT/include bug.c /link /libpath:$TOOLROOT/lib /libpath:$TOOLROOT/PlatformSDK/lib

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.


$ ./bug "before `cat copyright.txt` after"
0: E:\cygwin1.7\tmp\bug.exe
1: before

Notice that for argument 1, we never see the contents of copyright.txt and the text after it, "after" is never passed to the win32 native application.

This sounds allot like this report to me:



Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]