about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--mktap.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/mktap.c b/mktap.c
index 3fe5ce3..8e0b5bf 100644
--- a/mktap.c
+++ b/mktap.c
@@ -65,7 +65,7 @@ void ex_usage()
 
 int main(int argc, char **argv)
 {
-	char *ifr_name_in = "tap%d";
+	char *ifr_name_in = NULL;
 	bool name_env = true;
 
 	int c;
@@ -87,11 +87,13 @@ int main(int argc, char **argv)
 
 	// ifr_name is a macro, so add a trailing _.
 	char *ifr_name_ = calloc(IFNAMSIZ, sizeof(char));
-	if (strlen(ifr_name_in) > IFNAMSIZ - 1) {
-		fprintf(stderr, "mktap: ifr_name too long (max %i)\n", IFNAMSIZ - 1);
-		return EX_USAGE;
+	if (ifr_name_in) {
+		if (strlen(ifr_name_in) > IFNAMSIZ - 1) {
+			fprintf(stderr, "mktap: ifr_name too long (max %i)\n", IFNAMSIZ - 1);
+			return EX_USAGE;
+		}
+		strcpy(ifr_name_, ifr_name_in);
 	}
-	strcpy(ifr_name_, ifr_name_in);
 
 	errno = 0;
 	char *target_fd_end;