diff options
Diffstat (limited to 'media-libs/dumb/files')
-rw-r--r-- | media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch | 72 | ||||
-rw-r--r-- | media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch | 16 |
2 files changed, 88 insertions, 0 deletions
diff --git a/media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch b/media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch new file mode 100644 index 000000000000..217caa406b3e --- /dev/null +++ b/media-libs/dumb/files/dumb-0.9.3-PIC-as-needed.patch @@ -0,0 +1,72 @@ +diff -Naur dumb.orig/Makefile dumb/Makefile +--- dumb.orig/Makefile 2003-04-03 16:34:18.000000000 -0800 ++++ dumb/Makefile 2004-07-06 14:43:38.158063165 -0700 +@@ -199,11 +199,11 @@ + ALLEGRO_EXAMPLES_EXE := $(addprefix examples/, $(notdir $(patsubst %.c, %$(EXE_SUFFIX), $(ALLEGRO_EXAMPLES)))) + + +-CORE_LIB_FILE_RELEASE := $(LIBDIR)/libdumb.a +-ALLEGRO_LIB_FILE_RELEASE := $(LIBDIR)/libaldmb.a ++CORE_LIB_FILE_RELEASE := $(LIBDIR)/libdumb.so ++ALLEGRO_LIB_FILE_RELEASE := $(LIBDIR)/libaldmb.so + +-CORE_LIB_FILE_DEBUG := $(LIBDIR)/libdumbd.a +-ALLEGRO_LIB_FILE_DEBUG := $(LIBDIR)/libaldmd.a ++CORE_LIB_FILE_DEBUG := $(LIBDIR)/libdumbd.so ++ALLEGRO_LIB_FILE_DEBUG := $(LIBDIR)/libaldmd.so + + + core: $(CORE_LIB_FILE_RELEASE) $(CORE_LIB_FILE_DEBUG) +@@ -272,22 +272,22 @@ + + OBJDIR := $(OBJDIR_BASE)/release + CFLAGS := $(CFLAGS_RELEASE) +-CORE_LIB_FILE := $(LIBDIR)/libdumb.a +-ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmb.a ++CORE_LIB_FILE := $(LIBDIR)/libdumb.so ++ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmb.so + include make/Makefile.inc + + OBJDIR := $(OBJDIR_BASE)/debug + CFLAGS := $(CFLAGS_DEBUG) +-CORE_LIB_FILE := $(LIBDIR)/libdumbd.a +-ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmd.a ++CORE_LIB_FILE := $(LIBDIR)/libdumbd.so ++ALLEGRO_LIB_FILE := $(LIBDIR)/libaldmd.so + include make/Makefile.inc + + + $(CORE_EXAMPLES_EXE): examples/%$(EXE_SUFFIX): examples/%.o $(CORE_LIB_FILE_RELEASE) +- $(CC) $^ -o $@ $(LDFLAGS) $(LINK_MATH) ++ $(CC) $^ -o $@ $(LDFLAGS) $(LINK_MATH) + + $(ALLEGRO_EXAMPLES_EXE): examples/%$(EXE_SUFFIX): examples/%.o $(ALLEGRO_LIB_FILE_RELEASE) $(CORE_LIB_FILE_RELEASE) +- $(CC) $^ -o $@ $(LDFLAGS) $(LINK_ALLEGRO) ++ $(CC) $^ -o $@ $(LDFLAGS) $(LINK_ALLEGRO) + + $(CORE_EXAMPLES_OBJ): examples/%.o: examples/%.c include/dumb.h + $(CC) -c $< -o $@ $(CFLAGS_RELEASE) +diff -Naur dumb.orig/make/Makefile.inc dumb/make/Makefile.inc +--- dumb.orig/make/Makefile.inc 2003-04-03 16:34:18.000000000 -0800 ++++ dumb/make/Makefile.inc 2004-07-06 14:37:13.082037585 -0700 +@@ -10,8 +10,8 @@ + # accurately, create a local copy of the current CFLAGS variable. This is + # necessary because Make doesn't expand variables in commands until they are + # executed. +-$(CORE_LIB_FILE): CFLAGS := $(CFLAGS) +-$(ALLEGRO_LIB_FILE): CFLAGS := $(CFLAGS) ++$(CORE_LIB_FILE): CFLAGS := $(CFLAGS) -fPIC -DPIC ++$(ALLEGRO_LIB_FILE): CFLAGS := $(CFLAGS) -fPIC -DPIC + + + $(OBJDIR)/%.o: src/core/%.c include/dumb.h include/internal/dumb.h +@@ -28,7 +28,7 @@ + $(CC) -c -o $@ $< $(CFLAGS) $(WFLAGS_ALLEGRO) + + $(CORE_LIB_FILE): $(CORE_OBJECTS) +- $(AR) rs $@ $^ ++ $(CC) -shared -o $@ $(LDFLAGS) -Wl,-shared,-soname,$(shell basename $@) $^ -lm + + $(ALLEGRO_LIB_FILE): $(ALLEGRO_OBJECTS) +- $(AR) rs $@ $^ ++ $(CC) -shared -o $@ $(LDFLAGS) -Wl,-shared,-soname,$(shell basename $@) $^ -ldumb diff --git a/media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch b/media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch new file mode 100644 index 000000000000..09d2fb68f4cb --- /dev/null +++ b/media-libs/dumb/files/dumb-0.9.3_CVE-2006-3668.patch @@ -0,0 +1,16 @@ +Index: libdumb-0.9.3/src/it/itread.c +=================================================================== +--- libdumb-0.9.3.orig/src/it/itread.c 2006-07-21 11:05:48.000000000 +0200 ++++ libdumb-0.9.3/src/it/itread.c 2006-07-21 11:07:22.000000000 +0200 +@@ -292,6 +292,11 @@ + + envelope->flags = dumbfile_getc(f); + envelope->n_nodes = dumbfile_getc(f); ++ if(envelope->n_nodes > 25) { ++ TRACE("IT error: wrong number of envelope nodes (%d)\n", envelope->n_nodes); ++ envelope->n_nodes = 0; ++ return -1; ++ } + envelope->loop_start = dumbfile_getc(f); + envelope->loop_end = dumbfile_getc(f); + envelope->sus_loop_start = dumbfile_getc(f); |