projects
/
oweals
/
busybox.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7b881c7
)
unzip: fix xstrndup bug (xstrndup(s,n) can allocate less than n bytes!)
author
Denis Vlasenko
<vda.linux@googlemail.com>
Sat, 31 Mar 2007 10:17:24 +0000
(10:17 -0000)
committer
Denis Vlasenko
<vda.linux@googlemail.com>
Sat, 31 Mar 2007 10:17:24 +0000
(10:17 -0000)
archival/unzip.c
patch
|
blob
|
history
diff --git
a/archival/unzip.c
b/archival/unzip.c
index 5e631705cff0684ff35ba0d16bf8d19b21abe63e..8a9034fc3d228fe876ee065b0ef788997279405d 100644
(file)
--- a/
archival/unzip.c
+++ b/
archival/unzip.c
@@
-134,7
+134,8
@@
int unzip_main(int argc, char **argv)
break;
case 1 : /* The zip file */
- src_fn = xstrndup(optarg, strlen(optarg)+4);
+ src_fn = xmalloc(strlen(optarg)+4);
+ strcpy(src_fn, optarg);
opt_range++;
break;
@@
-195,7
+196,7
@@
int unzip_main(int argc, char **argv)
src_fd = open(src_fn, O_RDONLY);
}
if (src_fd == -1) {
- src_fn[orig_src_fn_len] =
0
;
+ src_fn[orig_src_fn_len] =
'\0'
;
bb_error_msg_and_die("cannot open %s, %s.zip, %s.ZIP", src_fn, src_fn, src_fn);
}
}