summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/star/files/star-1.5.1-bufferoverflow.patch')
-rw-r--r--app-arch/star/files/star-1.5.1-bufferoverflow.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/app-arch/star/files/star-1.5.1-bufferoverflow.patch b/app-arch/star/files/star-1.5.1-bufferoverflow.patch
new file mode 100644
index 000000000000..afc0b4aa2b58
--- /dev/null
+++ b/app-arch/star/files/star-1.5.1-bufferoverflow.patch
@@ -0,0 +1,21 @@
+diff -urNp star-1.5.1-orig/star/longnames.c star-1.5.1/star/longnames.c
+--- star-1.5.1-orig/star/longnames.c 2009-10-16 00:38:55.000000000 +0200
++++ star-1.5.1/star/longnames.c 2010-02-03 13:36:03.000000000 +0100
+@@ -155,7 +155,7 @@ name_to_tcb(info, ptb)
+ if (add)
+ strcatl(ptb->dbuf.t_name, name, "/", (char *)NULL);
+ else
+- strcpy(ptb->dbuf.t_name, name);
++ strncpy(ptb->dbuf.t_name, name, props.pr_maxsname);
+ return (TRUE);
+ }
+
+@@ -198,7 +198,7 @@ name_to_tcb(info, ptb)
+ if (add)
+ strcatl(ptb->dbuf.t_name, &np[1], "/", (char *)NULL);
+ else
+- strcpy(ptb->dbuf.t_name, &np[1]);
++ strncpy(ptb->dbuf.t_name, &np[1], props.pr_maxsname);
+ strncpy(ptb->dbuf.t_prefix, name, np - name);
+ info->f_flags |= F_SPLIT_NAME;
+ return (TRUE);