Merge pull request #44 from plieven/master
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 26 Dec 2013 19:00:04 +0000 (11:00 -0800)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 26 Dec 2013 19:00:04 +0000 (11:00 -0800)
fix 3 flaws detected by valgrind and bump version to intermediate version

examples/nfs-ls.c
examples/nfsclient-sync.c
lib/Makefile.am
lib/libnfs.c
nfs/nfs.c

index 6efbbd6b37b287dca7258679128d5b654f00800b..e87ffa82b91cc11162d52629037398e02a0bd4df 100644 (file)
@@ -100,7 +100,7 @@ void process_dir(struct nfs_context *nfs, char *dir, int level) {
        
        ret = nfs_opendir(nfs, dir, &nfsdir);
        if (ret != 0) {
-               printf("Failed to opendir(\"%s\")\n", dir, nfs_get_error(nfs));
+               printf("Failed to opendir(\"%s\") %s\n", dir, nfs_get_error(nfs));
                exit(10);
        }
        while((nfsdirent = nfs_readdir(nfs, nfsdir)) != NULL) {
index 9ca58b467c8461f97c9043d1fcc120d2edd0416c..29a4daf3dc9c24e3a7f53532155624ff622f3c3f 100644 (file)
@@ -163,7 +163,7 @@ int main(int argc, char *argv[])
 
        ret = nfs_opendir(nfs, "/", &nfsdir);
        if (ret != 0) {
-               printf("Failed to opendir(\"/\")\n", nfs_get_error(nfs));
+               printf("Failed to opendir(\"/\") %s\n", nfs_get_error(nfs));
                exit(10);
        }
        while((nfsdirent = nfs_readdir(nfs, nfsdir)) != NULL) {
@@ -212,7 +212,7 @@ int main(int argc, char *argv[])
                        "-w"[!!(st.st_mode & S_IWOTH)],
                        "-x"[!!(st.st_mode & S_IXOTH)]
                );
-               printf(" %2d", st.st_nlink);
+               printf(" %2d", (int)st.st_nlink);
                printf(" %5d", st.st_uid);
                printf(" %5d", st.st_gid);
                printf(" %12" PRId64, st.st_size);
index e35a6c0de63b7bf897120c7a72caf158b0804391..97beb837ea2691de713568f9eed92a626fadcb87 100644 (file)
@@ -18,7 +18,10 @@ libnfs_la_SOURCES = \
        pdu.c \
        socket.c
 
-libnfs_la_LDFLAGS = -version-info 1:8:0
+SOCURRENT=1
+SOREVISION=8
+SOAGE=0
+libnfs_la_LDFLAGS = -version-info $(SOCURRENT):$(SOREVISION):$(SOAGE)
 libnfs_la_LIBADD = \
        ../mount/libmount.la \
        ../nfs/libnfs.la \
index 4eb18512900c420aaeb279c9f2e24317e8977074..029c9c94d1f82795a5104e456caec30fdbbc4e3e 100644 (file)
@@ -173,14 +173,14 @@ char *nfs_get_error(struct nfs_context *nfs)
        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;
 }
@@ -288,8 +288,7 @@ flags:
                if (strp2) {
                        *strp2 = 0;
                        strp2++;
-                       rpc_set_context_args(nfs_get_rpc_context(nfs),
-                                       strp, strp2);
+                       nfs_set_context_args(nfs, strp, strp2);
                }
        }
 
@@ -654,7 +653,7 @@ static void nfs_mount_7_cb(struct rpc_context *rpc, int status, void *command_da
                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;
@@ -728,7 +727,7 @@ static void nfs_mount_5_cb(struct rpc_context *rpc, int status, void *command_da
                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;
@@ -756,7 +755,7 @@ static void nfs_mount_4_cb(struct rpc_context *rpc, int status, void *command_da
                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;
@@ -3918,7 +3917,7 @@ static void mount_export_4_cb(struct rpc_context *rpc, int status, void *command
                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;
index ab8e4dfcf9a520c3e065e29b21ddb1a9b8993e16..a97d40ab7d543e6d8a37ce97b7a5d5665a3dd852 100644 (file)
--- a/nfs/nfs.c
+++ b/nfs/nfs.c
@@ -771,7 +771,7 @@ int rpc_nfs_fsinfo_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh,
        args.fsroot.data.data_len = fh->data.data_len; 
        args.fsroot.data.data_val = fh->data.data_val; 
 
-       return rpc_nfs3_fsinfo_async(rpc, cb, fh, private_data);
+       return rpc_nfs3_fsinfo_async(rpc, cb, &args, private_data);
 }
 
 int rpc_nfs3_readlink_async(struct rpc_context *rpc, rpc_cb cb, READLINK3args *args, void *private_data)