diff --git a/configure.ac b/configure.ac index cca1699..98599ee 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.50) -AC_INIT([libnfs], [1.8.0], [ronniesahlberg@gmail.com]) +AC_INIT([libnfs], [1.8.90], [ronniesahlberg@gmail.com]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign]) AC_CANONICAL_HOST diff --git a/examples/nfs-cp.c b/examples/nfs-cp.c index 4456747..fe9911d 100644 --- a/examples/nfs-cp.c +++ b/examples/nfs-cp.c @@ -132,6 +132,7 @@ open_file(const char *url, int flags) file_context->fd = -1; file_context->nfs = NULL; file_context->nfsfh = NULL; + file_context->url = NULL; if (strncmp(url, "nfs://", 6)) { file_context->is_nfs = 0; diff --git a/lib/libnfs.c b/lib/libnfs.c index 77645b1..029c9c9 100644 --- a/lib/libnfs.c +++ b/lib/libnfs.c @@ -201,6 +201,7 @@ static struct nfs_url *nfs_parse_url(struct nfs_context *nfs, const char *url, i 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 @@ 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, '&'); @@ -296,6 +292,11 @@ flags: } } + if (urls->server && strlen(urls->server) <= 1) { + free(urls->server); + urls->server = NULL; + } + return urls; }