[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] pipe, pipe2: don't corrupt fd on error
From: |
Eric Blake |
Subject: |
Re: [PATCH] pipe, pipe2: don't corrupt fd on error |
Date: |
Wed, 29 Jun 2011 17:08:12 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.10 |
On 06/29/2011 04:55 PM, Bruno Haible wrote:
> Hi Eric,
Hi Bruno,
>> + int tmp[2] = { fd[0], fd[1] };
>> +
>
> This gives a compilation error with 'cc' on IRIX 6.5:
Bah. I'm pushing this followup:
diff --git a/ChangeLog b/ChangeLog
index ef00206..1c04ff4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2011-06-29 Eric Blake <address@hidden>
+ pipe2: fix C89 compile problem
+ * lib/pipe2.c (pipe2): Avoid C99 array initialization.
+ Reported by Bruno Haible.
+
pipe, pipe2: don't corrupt fd on error
* lib/pipe.c (pipe): Leave fd unchanged on error.
* lib/pipe2.c (pipe2): Likewise.
diff --git a/lib/pipe2.c b/lib/pipe2.c
index 1590dee..12cac6e 100644
--- a/lib/pipe2.c
+++ b/lib/pipe2.c
@@ -43,7 +43,9 @@ pipe2 (int fd[2], int flags)
/* Mingw _pipe() corrupts fd on failure; also, if we succeed at
creating the pipe but later fail at changing fcntl, we want
to leave fd unchanged: http://austingroupbugs.net/view.php?id=467 */
- int tmp[2] = { fd[0], fd[1] };
+ int tmp[2];
+ tmp[0] = fd[0];
+ tmp[1] = fd[1];
#if HAVE_PIPE2
# undef pipe2
--
1.7.4.4
--
Eric Blake address@hidden +1-801-349-2682
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature