feddbdb
diff -up ntfs-3g_ntfsprogs-2017.3.23/src/lowntfs-3g.c.CVE-2019-9755 ntfs-3g_ntfsprogs-2017.3.23/src/lowntfs-3g.c
feddbdb
--- ntfs-3g_ntfsprogs-2017.3.23/src/lowntfs-3g.c.CVE-2019-9755	2019-03-29 16:08:22.359920075 -0400
feddbdb
+++ ntfs-3g_ntfsprogs-2017.3.23/src/lowntfs-3g.c	2019-03-29 16:08:28.237794169 -0400
feddbdb
@@ -4323,7 +4323,8 @@ int main(int argc, char *argv[])
feddbdb
 	else {
feddbdb
 		ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX);
feddbdb
 		if (ctx->abs_mnt_point) {
feddbdb
-			if (getcwd(ctx->abs_mnt_point,
feddbdb
+			if ((strlen(opts.mnt_point) < PATH_MAX)
feddbdb
+			    && getcwd(ctx->abs_mnt_point,
feddbdb
 				     PATH_MAX - strlen(opts.mnt_point) - 1)) {
feddbdb
 				strcat(ctx->abs_mnt_point, "/");
feddbdb
 				strcat(ctx->abs_mnt_point, opts.mnt_point);
feddbdb
@@ -4331,6 +4332,9 @@ int main(int argc, char *argv[])
feddbdb
 			/* Solaris also wants the absolute mount point */
feddbdb
 				opts.mnt_point = ctx->abs_mnt_point;
feddbdb
 #endif /* defined(__sun) && defined (__SVR4) */
feddbdb
+			} else {
feddbdb
+				free(ctx->abs_mnt_point);
feddbdb
+				ctx->abs_mnt_point = (char*)NULL;
feddbdb
 			}
feddbdb
 		}
feddbdb
 	}
feddbdb
diff -up ntfs-3g_ntfsprogs-2017.3.23/src/ntfs-3g.c.CVE-2019-9755 ntfs-3g_ntfsprogs-2017.3.23/src/ntfs-3g.c
feddbdb
--- ntfs-3g_ntfsprogs-2017.3.23/src/ntfs-3g.c.CVE-2019-9755	2019-03-29 16:08:54.691227528 -0400
feddbdb
+++ ntfs-3g_ntfsprogs-2017.3.23/src/ntfs-3g.c	2019-03-29 16:09:40.362249397 -0400
feddbdb
@@ -4123,7 +4123,8 @@ int main(int argc, char *argv[])
feddbdb
 	else {
feddbdb
 		ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX);
feddbdb
 		if (ctx->abs_mnt_point) {
feddbdb
-			if (getcwd(ctx->abs_mnt_point,
feddbdb
+			if ((strlen(opts.mnt_point) < PATH_MAX)
feddbdb
+			    && getcwd(ctx->abs_mnt_point,
feddbdb
 				     PATH_MAX - strlen(opts.mnt_point) - 1)) {
feddbdb
 				strcat(ctx->abs_mnt_point, "/");
feddbdb
 				strcat(ctx->abs_mnt_point, opts.mnt_point);
feddbdb
@@ -4131,6 +4132,9 @@ int main(int argc, char *argv[])
feddbdb
 			/* Solaris also wants the absolute mount point */
feddbdb
 				opts.mnt_point = ctx->abs_mnt_point;
feddbdb
 #endif /* defined(__sun) && defined (__SVR4) */
feddbdb
+			} else {
feddbdb
+				free(ctx->abs_mnt_point);
feddbdb
+				ctx->abs_mnt_point = (char*)NULL;
feddbdb
 			}
feddbdb
 		}
feddbdb
 	}