aboutsummaryrefslogtreecommitdiff
path: root/ln.c
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2000-06-06 16:15:23 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2000-06-06 16:15:23 +0000
commit088238cc727a9594cc20e6caed137fc532671188 (patch)
tree0955917be0c7adc926b7298bf450fedc67e447e6 /ln.c
parent0763f791683f2323a24e5ec82fc2deafc70b5dd1 (diff)
downloadbusybox-w32-088238cc727a9594cc20e6caed137fc532671188.tar.gz
busybox-w32-088238cc727a9594cc20e6caed137fc532671188.tar.bz2
busybox-w32-088238cc727a9594cc20e6caed137fc532671188.zip
Fixed a bunch of stuff:
* Fixed segfault caused by "touch -c" * Fixed segfault caused by "rm -f" * Fixed segfault caused by "ln -s -s" and similar abuses. * Fixed segfault caused by "cp -a -a" and similar abuses. * Implemented "rm -- <foo>" updated docs accordingly. -Erik git-svn-id: svn://busybox.net/trunk/busybox@613 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'ln.c')
-rw-r--r--ln.c37
1 files changed, 21 insertions, 16 deletions
diff --git a/ln.c b/ln.c
index 29ff93863..d4fa47306 100644
--- a/ln.c
+++ b/ln.c
@@ -59,25 +59,30 @@ extern int ln_main(int argc, char **argv)
59 argv++; 59 argv++;
60 60
61 /* Parse any options */ 61 /* Parse any options */
62 while (**argv == '-') { 62 while (--argc >= 0 && *argv && **argv) {
63 while (*++(*argv)) 63 while (**argv == '-') {
64 switch (**argv) { 64 while (*++(*argv))
65 case 's': 65 switch (**argv) {
66 symlinkFlag = TRUE; 66 case 's':
67 break; 67 symlinkFlag = TRUE;
68 case 'f': 68 break;
69 removeoldFlag = TRUE; 69 case 'f':
70 break; 70 removeoldFlag = TRUE;
71 case 'n': 71 break;
72 followLinks = FALSE; 72 case 'n':
73 break; 73 followLinks = FALSE;
74 default: 74 break;
75 usage(ln_usage); 75 default:
76 } 76 usage(ln_usage);
77 argc--; 77 }
78 }
78 argv++; 79 argv++;
79 } 80 }
80 81
82 if (argc < 1) {
83 fatalError("ln: missing file argument\n");
84 }
85
81 linkName = argv[argc - 1]; 86 linkName = argv[argc - 1];
82 87
83 if (strlen(linkName) > BUFSIZ) { 88 if (strlen(linkName) > BUFSIZ) {