From 6600877a5f2801183b79bd582c65e15af7ba8434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 22 Jul 2010 12:35:44 +0000 Subject: [PATCH] * On Haiku, ifreq::ifr_name always includes the trailing null byte. Adjusted userland code to take this into account (the kernel would just cut off the name). * This closes ticket #6280. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37689 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/bin/network/ifconfig/ifconfig.cpp | 2 +- src/bin/network/route/route.cpp | 2 +- src/bin/network/tcpdump/libpcap/pcap-haiku.cpp | 4 ++-- src/servers/net/NetServer.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bin/network/ifconfig/ifconfig.cpp b/src/bin/network/ifconfig/ifconfig.cpp index 80a8c53160..9c620c670b 100644 --- a/src/bin/network/ifconfig/ifconfig.cpp +++ b/src/bin/network/ifconfig/ifconfig.cpp @@ -387,7 +387,7 @@ usage(int status) bool prepare_request(struct ifreq& request, const char* name) { - if (strlen(name) > IF_NAMESIZE) { + if (strlen(name) >= IF_NAMESIZE) { fprintf(stderr, "%s: interface name \"%s\" is too long.\n", kProgramName, name); return false; diff --git a/src/bin/network/route/route.cpp b/src/bin/network/route/route.cpp index b832821d38..cf892db063 100644 --- a/src/bin/network/route/route.cpp +++ b/src/bin/network/route/route.cpp @@ -280,7 +280,7 @@ usage(int status) bool prepare_request(struct ifreq& request, const char* name) { - if (strlen(name) > IF_NAMESIZE) { + if (strlen(name) >= IF_NAMESIZE) { fprintf(stderr, "%s: interface name \"%s\" is too long.\n", kProgramName, name); return false; diff --git a/src/bin/network/tcpdump/libpcap/pcap-haiku.cpp b/src/bin/network/tcpdump/libpcap/pcap-haiku.cpp index 187dc8eedf..1033835024 100644 --- a/src/bin/network/tcpdump/libpcap/pcap-haiku.cpp +++ b/src/bin/network/tcpdump/libpcap/pcap-haiku.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2006-2008, Haiku, Inc. All Rights Reserved. + * Copyright 2006-2010, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -29,7 +29,7 @@ bool prepare_request(struct ifreq& request, const char* name) { - if (strlen(name) > IF_NAMESIZE) { + if (strlen(name) >= IF_NAMESIZE) { return false; } diff --git a/src/servers/net/NetServer.cpp b/src/servers/net/NetServer.cpp index acdedaaa6e..82de140ca4 100644 --- a/src/servers/net/NetServer.cpp +++ b/src/servers/net/NetServer.cpp @@ -206,7 +206,7 @@ set_port(int32 familyIndex, struct sockaddr& address, int32 port) bool prepare_request(ifreq& request, const char* name) { - if (strlen(name) > IF_NAMESIZE) + if (strlen(name) >= IF_NAMESIZE) return false; strcpy(request.ifr_name, name);