summaryrefslogtreecommitdiff
path: root/archivers/sharutils/files/patch-src_unshar.c
diff options
context:
space:
mode:
authorJean-Yves Lefort <jylefort@FreeBSD.org>2005-04-20 20:55:03 +0000
committerJean-Yves Lefort <jylefort@FreeBSD.org>2005-04-20 20:55:03 +0000
commit294f7cadf1e8ad6bb90394be8fed7e469f6c7c0b (patch)
tree2d24d0662d1335a629b92fcd96429e8485f83d50 /archivers/sharutils/files/patch-src_unshar.c
parentAdd three missing entries to the packaging list. (diff)
- Update to 4.3.77
- Pass maintainership to sylvioc@gmail.com - Enable NLS and add WITHOUT_NLS knob PR: ports/80123 Submitted by: Sylvio Cesar <sylvioc@gmail.com> Approved by: adamw (mentor)
Notes
Notes: svn path=/head/; revision=133806
Diffstat (limited to 'archivers/sharutils/files/patch-src_unshar.c')
-rw-r--r--archivers/sharutils/files/patch-src_unshar.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/archivers/sharutils/files/patch-src_unshar.c b/archivers/sharutils/files/patch-src_unshar.c
new file mode 100644
index 000000000000..9180a07812dc
--- /dev/null
+++ b/archivers/sharutils/files/patch-src_unshar.c
@@ -0,0 +1,36 @@
+--- src/unshar.c.orig 1995-11-21 17:22:14.000000000 +0100
++++ src/unshar.c 2004-09-29 15:09:44.682469264 +0200
+@@ -346,8 +346,8 @@
+ {
+ size_t size_read;
+ FILE *file;
+- char name_buffer[NAME_BUFFER_SIZE];
+- char copy_buffer[NAME_BUFFER_SIZE];
++ char name_buffer[NAME_BUFFER_SIZE] = {'\0'};
++ char copy_buffer[NAME_BUFFER_SIZE] = {'\0'};
+ int optchar;
+
+ program_name = argv[0];
+@@ -409,14 +409,14 @@
+ if (optind < argc)
+ for (; optind < argc; optind++)
+ {
+- if (argv[optind][0] == '/')
+- stpcpy (name_buffer, argv[optind]);
+- else
+- {
+- char *cp = stpcpy (name_buffer, current_directory);
+- *cp++ = '/';
+- stpcpy (cp, argv[optind]);
+- }
++ if (argv[optind][0] == '/') {
++ strncpy (name_buffer, argv[optind], sizeof(name_buffer));
++ name_buffer[sizeof(name_buffer)-1] = '\0';
++ }
++ else {
++ snprintf(name_buffer, sizeof(name_buffer),"%s/%s", current_directory, argv[optind]);
++ name_buffer[sizeof(name_buffer)-1] = '\0';
++ }
+ if (file = fopen (name_buffer, "r"), !file)
+ error (EXIT_FAILURE, errno, name_buffer);
+ unarchive_shar_file (name_buffer, file);