From: Ronnie Sahlberg Date: Thu, 26 Dec 2013 19:00:04 +0000 (-0800) Subject: Merge pull request #44 from plieven/master X-Git-Tag: upstream/1.9.6^2~154 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;ds=inline;h=8aab33e33c541a8ac66c031d9b6f7b7f764143ed;hp=-c;p=deb_libnfs.git Merge pull request #44 from plieven/master fix 3 flaws detected by valgrind and bump version to intermediate version --- 8aab33e33c541a8ac66c031d9b6f7b7f764143ed diff --combined lib/libnfs.c index 77645b1,4eb1851..029c9c9 --- a/lib/libnfs.c +++ b/lib/libnfs.c @@@ -173,14 -173,14 +173,14 @@@ char *nfs_get_error(struct nfs_context return rpc_get_error(nfs->rpc); }; -int rpc_set_context_args(struct rpc_context *rpc, char *arg, char *val) +static int nfs_set_context_args(struct nfs_context *nfs, char *arg, char *val) { if (!strncmp(arg, "tcp-syncnt", 10)) { - rpc_set_tcp_syncnt(rpc, atoi(val)); + rpc_set_tcp_syncnt(nfs_get_rpc_context(nfs), atoi(val)); } else if (!strncmp(arg, "uid", 3)) { - rpc_set_uid(rpc, atoi(val)); + rpc_set_uid(nfs_get_rpc_context(nfs), atoi(val)); } else if (!strncmp(arg, "gid", 3)) { - rpc_set_gid(rpc, atoi(val)); + rpc_set_gid(nfs_get_rpc_context(nfs), atoi(val)); } return 0; } @@@ -201,6 -201,7 +201,7 @@@ static struct nfs_url *nfs_parse_url(st return NULL; } + memset(urls, 0x00, sizeof(struct nfs_url)); urls->server = strdup(url + 6); if (urls->server == NULL) { nfs_destroy_url(urls); @@@ -277,11 -278,6 +278,6 @@@ flags } } - if (urls->server && strlen(urls->server) <= 1) { - free(urls->server); - urls->server = NULL; - } - while (flagsp != NULL && *(flagsp+1) != 0) { strp = flagsp + 1; flagsp = strchr(strp, '&'); @@@ -292,10 -288,16 +288,15 @@@ if (strp2) { *strp2 = 0; strp2++; - rpc_set_context_args(nfs_get_rpc_context(nfs), - strp, strp2); + nfs_set_context_args(nfs, strp, strp2); } } + if (urls->server && strlen(urls->server) <= 1) { + free(urls->server); + urls->server = NULL; + } + return urls; } @@@ -652,7 -654,7 +653,7 @@@ static void nfs_mount_7_cb(struct rpc_c return; } - if (rpc_nfs_null_async(rpc, nfs_mount_8_cb, data) != 0) { + if (rpc_nfs3_null_async(rpc, nfs_mount_8_cb, data) != 0) { data->cb(-ENOMEM, nfs, command_data, data->private_data); free_nfs_cb_data(data); return; @@@ -726,7 -728,7 +727,7 @@@ static void nfs_mount_5_cb(struct rpc_c return; } - if (rpc_mount_mnt_async(rpc, nfs_mount_6_cb, nfs->export, data) != 0) { + if (rpc_mount3_mnt_async(rpc, nfs_mount_6_cb, nfs->export, data) != 0) { data->cb(-ENOMEM, nfs, command_data, data->private_data); free_nfs_cb_data(data); return; @@@ -754,7 -756,7 +755,7 @@@ static void nfs_mount_4_cb(struct rpc_c return; } - if (rpc_mount_null_async(rpc, nfs_mount_5_cb, data) != 0) { + if (rpc_mount3_null_async(rpc, nfs_mount_5_cb, data) != 0) { data->cb(-ENOMEM, nfs, command_data, data->private_data); free_nfs_cb_data(data); return; @@@ -3916,7 -3918,7 +3917,7 @@@ static void mount_export_4_cb(struct rp return; } - if (rpc_mount_export_async(rpc, mount_export_5_cb, data) != 0) { + if (rpc_mount3_export_async(rpc, mount_export_5_cb, data) != 0) { data->cb(rpc, -ENOMEM, command_data, data->private_data); free_mount_cb_data(data); return;