From 61816f86e167fba086e2c2d4a8dd9a2f318d1b26 Mon Sep 17 00:00:00 2001
From: stefanf <stefanf@FreeBSD.org>
Date: Thu, 11 Oct 2012 08:18:28 +0000
Subject: [PATCH] Fix my last commit.  Only call strunvis after properly
 checking the argument is not NULL.

---
 lib/libc/gen/fstab.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/lib/libc/gen/fstab.c b/lib/libc/gen/fstab.c
index 1351a27ccc73..b68db2effb6d 100644
--- a/lib/libc/gen/fstab.c
+++ b/lib/libc/gen/fstab.c
@@ -150,16 +150,18 @@ fstabscan(void)
 /* OLD_STYLE_FSTAB */
 		while ((cp = strsep(&p, " \t\n")) != NULL && *cp == '\0')
 			;
-		if (strunvis(cp, cp) < 0)
-			goto bad;
 		_fs_fstab.fs_spec = cp;
-		if (!_fs_fstab.fs_spec || *_fs_fstab.fs_spec == '#')
+		if (_fs_fstab.fs_spec == NULL || *_fs_fstab.fs_spec == '#')
 			continue;
+		if (strunvis(_fs_fstab.fs_spec, _fs_fstab.fs_spec) < 0)
+			goto bad;
 		while ((cp = strsep(&p, " \t\n")) != NULL && *cp == '\0')
 			;
-		if (strunvis(cp, cp) < 0)
-			goto bad;
 		_fs_fstab.fs_file = cp;
+		if (_fs_fstab.fs_file == NULL)
+			goto bad;
+		if (strunvis(_fs_fstab.fs_file, _fs_fstab.fs_file) < 0)
+			goto bad;
 		fixfsfile();
 		while ((cp = strsep(&p, " \t\n")) != NULL && *cp == '\0')
 			;