net-tools/net-tools-1.60-num-ports.patch
Jiří Popelka 1f3e550147 - fixed overflow patch (#551625)
- ifconfig interface:0 del <IP> will remove the Aliased IP on IA64
    (#473211)
- interface slip: cast keepalive/outfill to unsigned long to fix warnings
    on 64bit hosts -- no functional changes since these only have an 8bit
    range anyways
- interface: fix IPv6 parsing of interfaces with large indexes (> 255)
    (Debian #433543)
2010-01-02 11:51:31 +00:00

79 lines
3.3 KiB
Diff

--- net-tools-1.60/netstat.c.num-ports 2004-11-24 12:19:24.000000000 +0100
+++ net-tools-1.60/netstat.c 2004-11-25 16:00:45.208367104 +0100
@@ -765,8 +765,8 @@
txq = 0L;
}
safe_strncpy(local_addr, ap->sprint((struct sockaddr *) &localaddr,
- flag_not), sizeof(local_addr));
- safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr, flag_not),
+ flag_not & FLAG_NUM_HOST), sizeof(local_addr));
+ safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr, flag_not & FLAG_NUM_HOST),
sizeof(rem_addr));
if (flag_all || (flag_lst && !rem_port) || (!flag_lst && rem_port)) {
snprintf(buffer, sizeof(buffer), "%s",
@@ -921,11 +921,11 @@
if (flag_all || (notnull(remaddr) && !flag_lst) || (!notnull(remaddr) && flag_lst))
{
safe_strncpy(local_addr, ap->sprint((struct sockaddr *) &localaddr,
- flag_not), sizeof(local_addr));
+ flag_not & FLAG_NUM_HOST), sizeof(local_addr));
snprintf(buffer, sizeof(buffer), "%s",
get_sname(htons(local_port), "udp",
flag_not & FLAG_NUM_PORT));
- if ((strlen(local_addr) + strlen(buffer)) > 22)
+ if ((strlen(local_addr) + strlen(buffer)) >= 27)
local_addr[22 - strlen(buffer)] = '\0';
strcat(local_addr, ":");
strncat(local_addr, buffer, sizeof(local_addr)-strlen(local_addr)-1);
@@ -934,8 +934,8 @@
snprintf(buffer, sizeof(buffer), "%s",
get_sname(htons(rem_port), "udp", flag_not & FLAG_NUM_PORT));
safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr,
- flag_not), sizeof(rem_addr));
- if ((strlen(rem_addr) + strlen(buffer)) > 22)
+ flag_not & FLAG_NUM_HOST), sizeof(rem_addr));
+ if ((strlen(rem_addr) + strlen(buffer)) >= 27)
rem_addr[22 - strlen(buffer)] = '\0';
strcat(rem_addr, ":");
strncat(rem_addr, buffer, sizeof(rem_addr)-strlen(rem_addr)-1);
@@ -958,7 +958,7 @@
retr, timeout);
break;
}
- printf("udp %6ld %6ld %-23s %-23s %-12s",
+ printf("udp %6ld %6ld %-27s %-27s %-12s",
rxq, txq, local_addr, rem_addr, udp_state);
finish_this_one(uid,inode,timers);
@@ -1045,8 +1045,8 @@
get_sname(htons(local_port), "raw",
flag_not & FLAG_NUM_PORT));
safe_strncpy(local_addr, ap->sprint((struct sockaddr *) &localaddr,
- flag_not), sizeof(local_addr));
- if ((strlen(local_addr) + strlen(buffer)) > 22)
+ flag_not & FLAG_NUM_HOST), sizeof(local_addr));
+ if ((strlen(local_addr) + strlen(buffer)) >= 27)
local_addr[22 - strlen(buffer)] = '\0';
strcat(local_addr, ":");
strncat(local_addr, buffer, sizeof(local_addr)-strlen(local_addr)-1);
@@ -1055,8 +1055,8 @@
snprintf(buffer, sizeof(buffer), "%s",
get_sname(htons(rem_port), "raw", flag_not & FLAG_NUM_PORT));
safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr,
- flag_not), sizeof(rem_addr));
- if ((strlen(rem_addr) + strlen(buffer)) > 22)
+ flag_not & FLAG_NUM_HOST), sizeof(rem_addr));
+ if ((strlen(rem_addr) + strlen(buffer)) >= 27)
rem_addr[22 - strlen(buffer)] = '\0';
strcat(rem_addr, ":");
strncat(rem_addr, buffer, sizeof(rem_addr)-strlen(rem_addr)-1);
@@ -1081,7 +1081,7 @@
retr, timeout);
break;
}
- printf("raw %6ld %6ld %-23s %-23s %-12d",
+ printf("raw %6ld %6ld %-27s %-27s %-12d",
rxq, txq, local_addr, rem_addr, state);
finish_this_one(uid,inode,timers);