diff options
author | yz147064 <none@none> | 2008-03-19 21:34:13 -0700 |
---|---|---|
committer | yz147064 <none@none> | 2008-03-19 21:34:13 -0700 |
commit | 811fc8e17e28618ca5149abc18f576709fc5875b (patch) | |
tree | a6165f1e8c81b39811b269e352f2d242ee7a7507 | |
parent | 45391f50095088ce9d0b1362d78cb4d9d049e411 (diff) | |
download | illumos-joyent-811fc8e17e28618ca5149abc18f576709fc5875b.tar.gz |
6671160 dladm_setzid() should have a comment explaining why it takes a link name
6673156 dladm connect-wifi failure could potentially cause core dump
6673160 icfg_get_if_list() returns an incorrect data-link list when the ICFG_INSTALLED argument is passed
-rw-r--r-- | usr/src/lib/libdladm/common/libdllink.c | 6 | ||||
-rw-r--r-- | usr/src/lib/libdladm/common/libdlwlan.c | 8 | ||||
-rw-r--r-- | usr/src/lib/libinetcfg/common/inetcfg.c | 2 |
3 files changed, 9 insertions, 7 deletions
diff --git a/usr/src/lib/libdladm/common/libdllink.c b/usr/src/lib/libdladm/common/libdllink.c index 79e644c4e7..173c5435b8 100644 --- a/usr/src/lib/libdladm/common/libdllink.c +++ b/usr/src/lib/libdladm/common/libdllink.c @@ -252,7 +252,11 @@ dladm_linkduplex2str(link_duplex_t duplex, char *buf) } /* - * Set zoneid of a given link + * Set zoneid of a given link. Note that this function takes a link name + * argument instead of a linkid, because a data-link (and its linkid) could + * be created implicitly as the result of this function. For example, a VLAN + * could be created if a VLAN PPA hack name is assigned to an exclusive + * non-global zone. */ dladm_status_t dladm_setzid(const char *link, zoneid_t zoneid) diff --git a/usr/src/lib/libdladm/common/libdlwlan.c b/usr/src/lib/libdladm/common/libdlwlan.c index 9a5bc6bcd0..00d78ab79b 100644 --- a/usr/src/lib/libdladm/common/libdlwlan.c +++ b/usr/src/lib/libdladm/common/libdlwlan.c @@ -530,12 +530,10 @@ dladm_wlan_connect(datalink_id_t linkid, dladm_wlan_attr_t *attrp, dladm_status_t status; if ((status = dladm_wlan_validate(linkid)) != DLADM_STATUS_OK) - goto done; + return (status); - if ((gbuf = malloc(MAX_BUF_LEN)) == NULL) { - status = DLADM_STATUS_NOMEM; - goto done; - } + if ((gbuf = malloc(MAX_BUF_LEN)) == NULL) + return (DLADM_STATUS_NOMEM); if ((status = do_get_linkstatus(linkid, gbuf)) != DLADM_STATUS_OK) goto done; diff --git a/usr/src/lib/libinetcfg/common/inetcfg.c b/usr/src/lib/libinetcfg/common/inetcfg.c index 6e3a2b111f..38beca5574 100644 --- a/usr/src/lib/libinetcfg/common/inetcfg.c +++ b/usr/src/lib/libinetcfg/common/inetcfg.c @@ -1772,13 +1772,13 @@ get_link_list(icfg_if_t **listp, int *numif) { if (list == NULL) goto done; + *listp = list; for (entry = lw.lw_list; entry != NULL; entry = entry->ll_next) { (void) strlcpy(list->if_name, entry->ll_name, sizeof (list->if_name)); list->if_protocol = AF_UNSPEC; list++; } - *listp = list; *numif = lw.lw_num; ret = ICFG_SUCCESS; |