diff options
| author | Gordon Ross <Gordon.Ross@Sun.COM> | 2008-12-04 12:51:31 -0500 |
|---|---|---|
| committer | Gordon Ross <Gordon.Ross@Sun.COM> | 2008-12-04 12:51:31 -0500 |
| commit | 9c9af2590af49bb395bc8d2eace0f2d4ea16d165 (patch) | |
| tree | d7b65e8be9071e7f1a693ce58b136d1068ee496c /usr/src/lib/libshare/common/libshare.c | |
| parent | fc3af78a71855c71878866a294572d00e6720533 (diff) | |
| download | illumos-joyent-9c9af2590af49bb395bc8d2eace0f2d4ea16d165.tar.gz | |
6565868 Client should do packet signing
6673604 libshare_smbfs initprotofromdefaults() leaks memory
6684418 smbfs seems to ignore O_*SYNC open flags
6710493 smbfs doesn't interoperate with a MacOS share
6750718 move CIFS client kmdb modules to /usr/kernel/kmdb
6759403 various fixes for named-pipe support
Diffstat (limited to 'usr/src/lib/libshare/common/libshare.c')
| -rw-r--r-- | usr/src/lib/libshare/common/libshare.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/usr/src/lib/libshare/common/libshare.c b/usr/src/lib/libshare/common/libshare.c index 4333566a47..5a5625d5c6 100644 --- a/usr/src/lib/libshare/common/libshare.c +++ b/usr/src/lib/libshare/common/libshare.c @@ -3402,8 +3402,11 @@ sa_get_protocol_section(sa_protocol_properties_t propset, char *section) char *proto; proto = sa_get_optionset_attr(propset, "type"); - if ((sa_proto_get_featureset(proto) & SA_FEATURE_HAS_SECTIONS) == 0) + if ((sa_proto_get_featureset(proto) & SA_FEATURE_HAS_SECTIONS) == 0) { + if (proto != NULL) + sa_free_attr_string(proto); return (propset); + } for (node = node->children; node != NULL; node = node->next) { @@ -3423,6 +3426,8 @@ sa_get_protocol_section(sa_protocol_properties_t propset, char *section) } if (value != NULL) xmlFree(value); + if (proto != NULL) + sa_free_attr_string(proto); if (node != NULL && xmlStrcmp(node->name, (xmlChar *)"section") != 0) { /* * avoid a non option node -- it is possible to be a @@ -3447,8 +3452,11 @@ sa_get_next_protocol_section(sa_property_t prop, char *find) char *proto; proto = sa_get_optionset_attr(prop, "type"); - if ((sa_proto_get_featureset(proto) & SA_FEATURE_HAS_SECTIONS) == 0) + if ((sa_proto_get_featureset(proto) & SA_FEATURE_HAS_SECTIONS) == 0) { + if (proto != NULL) + sa_free_attr_string(proto); return ((sa_property_t)NULL); + } for (node = ((xmlNodePtr)prop)->next; node != NULL; node = node->next) { @@ -3469,6 +3477,8 @@ sa_get_next_protocol_section(sa_property_t prop, char *find) } if (value != NULL) xmlFree(value); + if (proto != NULL) + sa_free_attr_string(proto); return ((sa_property_t)node); } |
