[systemd-devel] [PATCH 02/11] libsystemd-dhcp: Return proper error if bind fails
Tom Gundersen
teg at jklm.no
Sun Dec 22 05:22:37 PST 2013
On Fri, Dec 20, 2013 at 10:23 PM, Lennart Poettering
<lennart at poettering.net> wrote:
> On Fri, 20.12.13 16:35, Zbigniew Jędrzejewski-Szmek (zbyszek at in.waw.pl) wrote:
>
>> On Fri, Dec 20, 2013 at 05:16:11PM +0200, Patrik Flykt wrote:
>> > This also fixes a minor indentation damage.
>> > ---
>> > src/libsystemd-dhcp/dhcp-network.c | 7 ++++---
>> > 1 file changed, 4 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/src/libsystemd-dhcp/dhcp-network.c b/src/libsystemd-dhcp/dhcp-network.c
>> > index 83a3084..3ff2d0b 100644
>> > --- a/src/libsystemd-dhcp/dhcp-network.c
>> > +++ b/src/libsystemd-dhcp/dhcp-network.c
>> > @@ -31,8 +31,8 @@
>> > #include "dhcp-internal.h"
>> >
>> > int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link)
>> > - {
>> > - int s;
>> > +{
>> > + int s, err;
>> >
>> > s = socket(AF_PACKET, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK,
>> > htons(ETH_P_IP));
>> > @@ -46,8 +46,9 @@ int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link)
>> > memset(link->ll.sll_addr, 0xff, ETH_ALEN);
>> >
>> > if (bind(s, &link->sa, sizeof(link->ll)) < 0) {
>> > + err = -errno;
>> > close(s);
>> > - return -errno;
>> > + return err;
>>
>> 'err' → 'r', for consistency with other code.
>
> Actually, just use close_nointr_nofail() here, as that saves/restore
> errno for you, then you don't need to store this in a temporary variable
> at all...
I fixed this before applying.
-t
More information about the systemd-devel
mailing list