diff options
author | marcus <marcus@FreeBSD.org> | 2005-04-27 11:38:33 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2005-04-27 11:38:33 +0800 |
commit | f1ff17b65a2013d61fcdd4e25e2a9fecee07d5fc (patch) | |
tree | 5a67d3d78d23db893ef5b9084f10579113c7eacd | |
parent | c782c844538578979c05d15bd8ab038c8eb2f485 (diff) | |
download | freebsd-ports-gnome-f1ff17b65a2013d61fcdd4e25e2a9fecee07d5fc.tar.gz freebsd-ports-gnome-f1ff17b65a2013d61fcdd4e25e2a9fecee07d5fc.tar.zst freebsd-ports-gnome-f1ff17b65a2013d61fcdd4e25e2a9fecee07d5fc.zip |
Only process the var_args argument to open() if flags contain O_CREAT.
This avoids a bus error crash when using esddsp.
PR: 80382
-rw-r--r-- | audio/esound/Makefile | 2 | ||||
-rw-r--r-- | audio/esound/files/patch-esddsp.c | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/audio/esound/Makefile b/audio/esound/Makefile index d94f8666d479..36f660dd667a 100644 --- a/audio/esound/Makefile +++ b/audio/esound/Makefile @@ -7,7 +7,7 @@ PORTNAME= esound PORTVERSION= 0.2.35 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= audio MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/${PORTNAME}/0.2 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")) + { |