Merge branch 'master' into net-next

This commit is contained in:
Stephen Hemminger 2017-08-21 17:37:15 -07:00
commit 51186362ba
10 changed files with 38 additions and 25 deletions

View File

@ -526,18 +526,26 @@ static int __dl_argv_handle_port(char *str,
char **p_bus_name, char **p_dev_name,
uint32_t *p_port_index)
{
char *handlestr = handlestr;
char *portstr = portstr;
char *handlestr;
char *portstr;
int err;
strslashrsplit(str, &handlestr, &portstr);
err = strslashrsplit(str, &handlestr, &portstr);
if (err) {
pr_err("Port identification \"%s\" is invalid\n", str);
return err;
}
err = strtouint32_t(portstr, p_port_index);
if (err) {
pr_err("Port index \"%s\" is not a number or not within range\n",
portstr);
return err;
}
strslashrsplit(handlestr, p_bus_name, p_dev_name);
err = strslashrsplit(handlestr, p_bus_name, p_dev_name);
if (err) {
pr_err("Port identification \"%s\" is invalid\n", str);
return err;
}
return 0;
}

View File

@ -2330,7 +2330,7 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv)
char *lcl_arg = NULL;
char *valid_lftp = NULL;
char *preferred_lftp = NULL;
inet_prefix lcl;
inet_prefix lcl = {};
inet_prefix peer;
int local_len = 0;
int peer_len = 0;

View File

@ -251,7 +251,7 @@ static int can_parse_opt(struct link_util *lu, int argc, char **argv,
return 0;
}
static const char *can_state_names[] = {
static const char *can_state_names[CAN_STATE_MAX] = {
[CAN_STATE_ERROR_ACTIVE] = "ERROR-ACTIVE",
[CAN_STATE_ERROR_WARNING] = "ERROR-WARNING",
[CAN_STATE_ERROR_PASSIVE] = "ERROR-PASSIVE",
@ -283,11 +283,8 @@ static void can_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
if (tb[IFLA_CAN_STATE]) {
uint32_t state = rta_getattr_u32(tb[IFLA_CAN_STATE]);
if (state <= CAN_STATE_MAX)
print_string(PRINT_ANY, "state", "state %s ",
can_state_names[state]);
else
print_null(PRINT_ANY, "state", "state UNKNOWN", NULL);
fprintf(f, "state %s ", state < CAN_STATE_MAX ?
can_state_names[state] : "UNKNOWN");
}
if (tb[IFLA_CAN_BERR_COUNTER]) {

View File

@ -136,7 +136,9 @@ __u32 ipvrf_get_table(const char *name)
&answer.n, sizeof(answer)) < 0) {
/* special case "default" vrf to be the main table */
if (errno == ENODEV && !strcmp(name, "default"))
rtnl_rttable_a2n(&tb_id, "main");
if (rtnl_rttable_a2n(&tb_id, "main"))
fprintf(stderr,
"BUG: RTTable \"main\" not found.\n");
return tb_id;
}

View File

@ -136,7 +136,7 @@ static void read_igmp(struct ma_info **result_p)
while (fgets(buf, sizeof(buf), fp)) {
struct ma_info *ma;
size_t len;
size_t len = 0;
if (buf[0] != '\t') {
sscanf(buf, "%d%s", &m.index, m.name);

View File

@ -1497,7 +1497,8 @@ static int iproute_list_flush_or_save(int argc, char **argv, int action)
id = *argv;
} else if (strcmp(*argv, "mark") == 0) {
NEXT_ARG();
get_unsigned(&mark, *argv, 0);
if (get_unsigned(&mark, *argv, 0))
invarg("invalid mark value", *argv);
filter.markmask = -1;
} else if (strcmp(*argv, "via") == 0) {
int family;
@ -1714,7 +1715,8 @@ static int iproute_get(int argc, char **argv)
idev = *argv;
} else if (matches(*argv, "mark") == 0) {
NEXT_ARG();
get_unsigned(&mark, *argv, 0);
if (get_unsigned(&mark, *argv, 0))
invarg("invalid mark value", *argv);
} else if (matches(*argv, "oif") == 0 ||
strcmp(*argv, "dev") == 0) {
NEXT_ARG();

View File

@ -537,8 +537,11 @@ static const char *bpf_find_mntpt(const char *fstype, unsigned long magic,
}
}
if (len != PATH_MAX)
return NULL;
fp = fopen("/proc/mounts", "r");
if (fp == NULL || len != PATH_MAX)
if (fp == NULL)
return NULL;
while (fscanf(fp, "%*s %" textify(PATH_MAX) "s %99s %*s %*d %*d\n",

View File

@ -3479,17 +3479,18 @@ static int netlink_show_one(struct filter *f,
int rq, int wq,
unsigned long long sk, unsigned long long cb)
{
struct sockstat st;
struct sockstat st = {
.state = SS_CLOSE,
.rq = rq,
.wq = wq,
.local.family = AF_NETLINK,
.remote.family = AF_NETLINK,
};
SPRINT_BUF(prot_buf) = {};
const char *prot_name;
char procname[64] = {};
st.state = SS_CLOSE;
st.rq = rq;
st.wq = wq;
st.local.family = st.remote.family = AF_NETLINK;
if (f->f) {
st.rport = -1;
st.lport = pid;

View File

@ -24,8 +24,8 @@ readdoubles(FILE *fp, int *number)
int limit;
int n=0, i;
fstat(fileno(fp), &info);
if (info.st_size > 0) {
if (!fstat(fileno(fp), &info) &&
info.st_size > 0) {
limit = 2*info.st_size/sizeof(double); /* @@ approximate */
} else {
limit = 10000;

View File

@ -43,7 +43,7 @@ static void explain(void)
static int multiq_parse_opt(struct qdisc_util *qu, int argc, char **argv,
struct nlmsghdr *n)
{
struct tc_multiq_qopt opt;
struct tc_multiq_qopt opt = {};
if (argc) {
if (strcmp(*argv, "help") == 0) {