[PATCH] Replace strncpy() with strlcpy()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



strncpy: just say no :).

<http://www.gratisoft.us/todd/papers/strlcpy.html>

Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx>

diff --git a/extras/scsi_id/scsi_id.c b/extras/scsi_id/scsi_id.c
index 6334af3..86c76cf 100644
--- a/extras/scsi_id/scsi_id.c
+++ b/extras/scsi_id/scsi_id.c
@@ -135,8 +135,7 @@ static void set_type(char *to, const char *from, size_t len)
 			break;
 		}
 	}
-	strncpy(to, type, len);
-	to[len-1] = '\0';
+	util_strlcpy(to, type, len);
 }
 
 /*
@@ -385,8 +384,7 @@ static int set_options(struct udev *udev,
 
 		case 'd':
 			dev_specified = 1;
-			strncpy(maj_min_dev, optarg, MAX_PATH_LEN);
-			maj_min_dev[MAX_PATH_LEN-1] = '\0';
+			util_strlcpy(maj_min_dev, optarg, MAX_PATH_LEN);
 			break;
 
 		case 'e':
@@ -394,8 +392,7 @@ static int set_options(struct udev *udev,
 			break;
 
 		case 'f':
-			strncpy(config_file, optarg, MAX_PATH_LEN);
-			config_file[MAX_PATH_LEN-1] = '\0';
+			util_strlcpy(config_file, optarg, MAX_PATH_LEN);
 			break;
 
 		case 'g':
@@ -461,8 +458,7 @@ static int set_options(struct udev *udev,
 	}
 	if (optind < argc && !dev_specified) {
 		dev_specified = 1;
-		strncpy(maj_min_dev, argv[optind], MAX_PATH_LEN);
-		maj_min_dev[MAX_PATH_LEN-1] = '\0';
+		util_strlcpy(maj_min_dev, argv[optind], MAX_PATH_LEN);
 	}
 	return 0;
 }
diff --git a/udev/lib/libudev-device.c b/udev/lib/libudev-device.c
index 5a43548..f56db7f 100644
--- a/udev/lib/libudev-device.c
+++ b/udev/lib/libudev-device.c
@@ -1001,7 +1001,7 @@ struct udev_list_entry *udev_device_add_property_from_string(struct udev_device
 	char name[UTIL_PATH_SIZE];
 	char *val;
 
-	strncpy(name, property, sizeof(name));
+	util_strlcpy(name, property, sizeof(name));
 	val = strchr(name, '=');
 	if (val == NULL)
 		return NULL;


--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux