-
Notifications
You must be signed in to change notification settings - Fork 567
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bleadperl breaks TODDR/IPC-Run-0.94.tar.gz on Windows #14728
Comments
From @chornyThis test passes with same versions of Socket and Win32API::File on 5.20.2. t/pump.t $^E for "Invalid argument" is "The handle is invalid". You can get Strawberry 5.22.0RC2 here http://strawberryperl.com/beta.html https://rt.cpan.org/Ticket/Display.html?id=104812 perl -V (also tested gcc 4.8.3): Platform: Characteristics of this binary (from libperl): -- |
From @jkeenanOn Mon Jun 01 10:09:19 2015, chorny wrote:
[snip] Is there anyone running Strawberry Perl who could perform a git bisect on this? Thank you very much. -- |
The RT System itself - Status changed from 'new' to 'open' |
From @toddr
Also adopters welcome! |
From @tonycozOn Mon Jun 01 10:09:19 2015, chorny wrote:
Bisected down to 22ff313 is the first bad commit [perl #123814] replace grok_atou with grok_atoUV Some questions and loose ends: XXX gv.c:S_gv_magicalize - why are we using SSize_t for paren? Perl_get_debug_opts should probably return something unsigned; not sure though nothing in that commit leaps out at me as the cause.
This warning occurs before and after the commit above. Tony |
From @tonycozOn Tue Feb 23 14:51:15 2016, tonyc wrote:
...
This is it: Inline Patchdiff --git a/doio.c b/doio.c
index a63f2a2..218887d 100644
--- a/doio.c
+++ b/doio.c
@@ -377,6 +377,7 @@ Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len,
else {
PerlIO *that_fp = NULL;
int wanted_fd;
+ UV uv;
if (num_svs > 1) {
/* diag_listed_as: More than one argument to '%s' open */
Perl_croak(aTHX_ "More than one argument to '%c&' open",IoTYPE(io));
@@ -390,8 +391,11 @@ Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len,
wanted_fd = SvUV(*svp);
num_svs = 0;
}
- else if (isDIGIT(*type)) {
- wanted_fd = grok_atou(type, NULL);
+ else if (isDIGIT(*type)
+ && grok_atoUV(type, &uv, NULL)
+ && uv <= INT_MAX
+ ) {
+ wanted_fd = (int)uv;
}
else {
const IO* thatio;
$mode |= O_BINARY if $access =~ /b/i; OsFHandleOpenFd() can return three types of results: - a "no" or false value on failure (note the bad error checking above) So for the case in IPC::Run, the open becomes: open( $fh, "<&=0 but true" ); which the updated do_open6() rejects. You might be thinking that perhaps the previous behaviour was preferable, but the previous behaviour was that: open( $fh, "<&=123 but true" ); was treated as: open( $fh, "<&=0" ); which is badly broken. I've opened a PR against Win32API::File" Tony |
From @hvdsOn Tue Feb 23 16:46:27 2016, tonyc wrote:
Looks like this was included in Win32API-File-0.1203. Does that pass now, can this ticket be closed? Hugo |
From @steve-m-hayOn 18 March 2016 at 09:00, Hugo van der Sanden via RT
Win32API-File is in core. I've upgraded to 0.1203 in my local blead |
From @steve-m-hayOn Fri Mar 18 02:08:02 2016, shay wrote:
Now applied in commit df61f5a. |
@steve-m-hay - Status changed from 'open' to 'pending release' |
From @khwilliamsonThank you for submitting this report. You have helped make Perl better. Perl 5.24.0 may be downloaded via https://metacpan.org/release/RJBS/perl-5.24.0 |
@khwilliamson - Status changed from 'pending release' to 'resolved' |
Migrated from rt.perl.org#125303 (status was 'resolved')
Searchable as RT125303$
The text was updated successfully, but these errors were encountered: