summaryrefslogtreecommitdiff
path: root/audio/esound/files
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2005-04-27 03:38:33 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2005-04-27 03:38:33 +0000
commitfc0c338e9f2edac130ccf2b8513cbb2ab20719e2 (patch)
tree8adafcf6166d295f8d81100346af0cdf95f7d21c /audio/esound/files
parentMake this work with readline from ports. (diff)
Only process the var_args argument to open() if flags contain O_CREAT.
This avoids a bus error crash when using esddsp. PR: 80382
Diffstat (limited to 'audio/esound/files')
-rw-r--r--audio/esound/files/patch-esddsp.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/audio/esound/files/patch-esddsp.c b/audio/esound/files/patch-esddsp.c
new file mode 100644
index 000000000000..c1175da944ab
--- /dev/null
+++ b/audio/esound/files/patch-esddsp.c
@@ -0,0 +1,18 @@
+--- esddsp.c.orig Tue Apr 26 22:41:23 2005
++++ esddsp.c Tue Apr 26 22:42:04 2005
+@@ -223,9 +223,12 @@ open (const char *pathname, int flags, .
+
+ dsp_init ();
+
+- va_start (args, flags);
+- mode = va_arg (args, mode_t);
+- va_end (args);
++ if ((flags & O_CREAT) != 0)
++ {
++ va_start (args, flags);
++ mode = va_arg (args, int);
++ va_end (args);
++ }
+
+ if (!strcmp (pathname, "/dev/dsp"))
+ {