diff options
author | marcus <marcus@FreeBSD.org> | 2005-04-27 03:38:33 +0000 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2005-04-27 03:38:33 +0000 |
commit | f1ff17b65a2013d61fcdd4e25e2a9fecee07d5fc (patch) | |
tree | 5a67d3d78d23db893ef5b9084f10579113c7eacd /audio | |
parent | c782c844538578979c05d15bd8ab038c8eb2f485 (diff) | |
download | FreeBSD-ports-f1ff17b65a2013d61fcdd4e25e2a9fecee07d5fc.zip FreeBSD-ports-f1ff17b65a2013d61fcdd4e25e2a9fecee07d5fc.tar.gz |
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')
-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 d94f866..36f660d 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 0000000..c1175da --- /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")) + { |