Update of /cvsroot/blob/blob/src/blob
In directory usw-pr-cvs1:/tmp/cvs-serv30998/src/blob
Modified Files:
linux.c param_block.c
Log Message:
Remove strcpy() in favour of strncpy(). Again, this forces you to think before
you copy a string. The changes in the files are trivial again.
Index: linux.c
===================================================================
RCS file: /cvsroot/blob/blob/src/blob/linux.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- linux.c 2001/11/13 13:27:18 1.6
+++ linux.c 2001/12/19 20:00:15 1.7
@@ -128,20 +128,27 @@
/* copy default commandline from parameter block */
if(blob_status.cmdline[0] != '\0')
- strcpy(params->u.cmdline.cmdline, blob_status.cmdline);
+ strlcpy(params->u.cmdline.cmdline, blob_status.cmdline,
+ COMMAND_LINE_SIZE);
/* copy commandline */
if(argc >= 2) {
p = params->u.cmdline.cmdline;
for(i = 1; i < argc; i++) {
- strcpy(p, argv[i]);
- p += strlen(argv[i]);
+ strlcpy(p, argv[i], COMMAND_LINE_SIZE);
+ p += strlen(p);
*p++ = ' ';
}
p--;
*p = '\0';
+
+ /* technically spoken we should limit the length of
+ * the kernel command line to COMMAND_LINE_SIZE
+ * characters, but the kernel won't copy longer
+ * strings anyway, so we don't care over here.
+ */
}
if(strlen(params->u.cmdline.cmdline) > 0) {
Index: param_block.c
===================================================================
RCS file: /cvsroot/blob/blob/src/blob/param_block.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- param_block.c 2001/10/31 16:44:18 1.3
+++ param_block.c 2001/12/19 20:00:15 1.4
@@ -77,7 +77,8 @@
static int parse_ptag_cmdline(const struct ptag *ptag)
{
- strcpy(blob_status.cmdline, ptag->u.cmdline.cmdline);
+ strlcpy(blob_status.cmdline, ptag->u.cmdline.cmdline,
+ COMMAND_LINE_SIZE);
return 0;
}
|