Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
sox
sox-14.4.0-ocloexec.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File sox-14.4.0-ocloexec.patch of Package sox
Index: src/8svx.c =================================================================== --- src/8svx.c.orig +++ src/8svx.c @@ -161,7 +161,7 @@ static int startread(sox_format_t * ft) chan1_pos = lsx_tell(ft); for (i = 1; i < channels; i++) { - if ((p->ch[i] = fopen(ft->filename, "rb")) == NULL) + if ((p->ch[i] = fopen(ft->filename, "rbe")) == NULL) { lsx_fail_errno(ft,errno,"Can't open channel file '%s'", ft->filename); Index: src/effects_i.c =================================================================== --- src/effects_i.c.orig +++ src/effects_i.c @@ -355,7 +355,7 @@ FILE * lsx_open_input_file(sox_effect_t effp->global_info->global_info->stdin_in_use_by = effp->handler.name; file = stdin; } - else if (!(file = fopen(filename, "r"))) { + else if (!(file = fopen(filename, "re"))) { lsx_fail("couldn't open file %s: %s", filename, strerror(errno)); return NULL; } Index: src/formats.c =================================================================== --- src/formats.c.orig +++ src/formats.c @@ -373,7 +373,7 @@ static FILE * xfopen(char const * identi FILE * f = NULL; #ifdef HAVE_POPEN #ifndef POPEN_MODE -#define POPEN_MODE "r" +#define POPEN_MODE "re" #endif f = popen(identifier + 1, POPEN_MODE); *io_type = lsx_io_pipe; @@ -384,6 +384,7 @@ static FILE * xfopen(char const * identi } else if (is_url(identifier)) { FILE * f = NULL; +/* XXX: really folks ? forking a wget process to get an URL.. (!!!!!) */ #ifdef HAVE_POPEN char const * const command_format = "wget --no-check-certificate -q -O- \"%s\""; char * command = lsx_malloc(strlen(command_format) + strlen(identifier)); @@ -460,7 +461,7 @@ static sox_format_t * open_read( #ifdef HAVE_FMEMOPEN buffer? fmemopen(buffer, buffer_size, "rb") : #endif - xfopen(path, "rb", &ft->io_type); + xfopen(path, "rbe", &ft->io_type); type = io_types[ft->io_type]; if (ft->fp == NULL) { lsx_fail("can't open input %s `%s': %s", type, path, strerror(errno)); @@ -858,7 +859,7 @@ static sox_format_t * open_write( buffer? fmemopen(buffer, buffer_size, "w+b") : buffer_ptr? open_memstream(buffer_ptr, buffer_size_ptr) : #endif - fopen(path, "w+b"); + fopen(path, "w+be"); if (ft->fp == NULL) { lsx_fail("can't open output file `%s': %s", path, strerror(errno)); goto error; @@ -1068,7 +1069,7 @@ int sox_parse_playlist(sox_playlist_call char * dirname = lsx_strdup(listname); char * slash_pos = LAST_SLASH(dirname); lsx_io_type io_type; - FILE * file = xfopen(listname, "r", &io_type); + FILE * file = xfopen(listname, "re", &io_type); char * filename; int c, result = SOX_SUCCESS; Index: src/libsox_i.c =================================================================== --- src/libsox_i.c.orig +++ src/libsox_i.c @@ -34,7 +34,7 @@ #else #define MKTEMP_X 0 #endif - +#include <fcntl.h> #ifndef HAVE_MKSTEMP #include <fcntl.h> #include <sys/types.h> @@ -99,7 +99,7 @@ FILE * lsx_tmpfile(void) int fildes; strcpy(name, path); strcat(name, end); - fildes = mkstemp(name); + fildes = mkostemp(name, O_CLOEXEC); #ifdef HAVE_UNISTD_H lsx_debug(FAKE_MKSTEMP "mkstemp, name=%s (unlinked)", name); unlink(name); @@ -107,7 +107,7 @@ FILE * lsx_tmpfile(void) lsx_debug(FAKE_MKSTEMP "mkstemp, name=%s (O_TEMPORARY)", name); #endif free(name); - return fildes == -1? NULL : fdopen(fildes, "w+"); + return fildes == -1? NULL : fdopen(fildes, "w+e"); } /* Use standard tmpfile (delete on close); tmp dir is undefined: */ Index: src/noiseprof.c =================================================================== --- src/noiseprof.c.orig +++ src/noiseprof.c @@ -75,7 +75,7 @@ static int sox_noiseprof_start(sox_effec effp->global_info->global_info->stdout_in_use_by = effp->handler.name; data->output_file = stdout; } - else if ((data->output_file = fopen(data->output_filename, "w")) == NULL) { + else if ((data->output_file = fopen(data->output_filename, "we")) == NULL) { lsx_fail("Couldn't open profile file %s: %s", data->output_filename, strerror(errno)); return SOX_EOF; } Index: src/sox.c =================================================================== --- src/sox.c.orig +++ src/sox.c @@ -906,7 +906,7 @@ static char * * strtoargv(char * s, int static void read_user_effects(char const *filename) { - FILE *file = fopen(filename, "rt"); + FILE *file = fopen(filename, "rte"); const size_t buffer_size_step = 1024; size_t buffer_size = buffer_size_step; char *s = lsx_malloc(buffer_size); /* buffer for one input line */ @@ -1293,7 +1293,7 @@ static int kbhit(void) static void adjust_volume(int delta) { char * from_env = getenv("MIXERDEV"); - int vol1 = 0, vol2 = 0, fd = open(from_env? from_env : "/dev/mixer", O_RDWR); + int vol1 = 0, vol2 = 0, fd = open(from_env? from_env : "/dev/mixer", O_RDWR|O_CLOEXEC); if (fd >= 0) { if (ioctl(fd, MIXER_READ(SOUND_MIXER_PCM), &vol1) != -1) { int side1 = vol1 & 0xff, side2 = (vol1 >> 8) & 0xff; @@ -2123,7 +2123,7 @@ static void read_comment_file(sox_commen int c; size_t text_length = 100; char * text = lsx_malloc(text_length + 1); - FILE * file = fopen(filename, "rt"); + FILE * file = fopen(filename, "rte"); if (file == NULL) { lsx_fail("Cannot open comment file `%s'", filename); Index: src/spectrogram.c =================================================================== --- src/spectrogram.c.orig +++ src/spectrogram.c @@ -492,7 +492,7 @@ static int axis(double to, int max_steps static int stop(sox_effect_t * effp) { priv_t * p = (priv_t *) effp->priv; - FILE * file = fopen(p->out_name, "wb"); + FILE * file = fopen(p->out_name, "wbe"); uLong font_len = 96 * font_y; int chans = effp->in_signal.channels; int c_rows = p->rows * chans + chans - 1; Index: src/util.h =================================================================== --- src/util.h.orig +++ src/util.h @@ -120,7 +120,7 @@ #define open _open #define pclose _pclose #define popen _popen -#define POPEN_MODE "rb" +#define POPEN_MODE "rbe" #define setmode _setmode #define snprintf _snprintf
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor