summaryrefslogtreecommitdiff
path: root/usr/src/lib/libshare/common/libshare.c
diff options
context:
space:
mode:
authorGordon Ross <Gordon.Ross@Sun.COM>2008-12-04 12:51:31 -0500
committerGordon Ross <Gordon.Ross@Sun.COM>2008-12-04 12:51:31 -0500
commit9c9af2590af49bb395bc8d2eace0f2d4ea16d165 (patch)
treed7b65e8be9071e7f1a693ce58b136d1068ee496c /usr/src/lib/libshare/common/libshare.c
parentfc3af78a71855c71878866a294572d00e6720533 (diff)
downloadillumos-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.c14
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);
}