KEYWORDS="amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos ~sparc-solaris ~x86-solaris"
DOCS=( "${P}.lsm" "${PN}.spec" README ChangeLog )
+PATCHES=( "${FILESDIR}/CVE-2017-15953.patch" "${FILESDIR}/CVE-2017-15955.patch" )
src_install() {
dobin "${PN}"
--- /dev/null
+--- a/bchunk.c 2017-10-30 18:03:58.658741629 +0000
++++ b/bchunk.c 2017-10-30 19:40:25.558131619 +0000
+@@ -18,6 +18,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -271,11 +272,10 @@
+ int16_t i;
+ float fl;
+
+- if (!(fname = malloc(strlen(bname) + 8))) {
+- fprintf(stderr, "main(): malloc() failed, out of memory\n");
++ if (asprintf(&fname, "%s%2.2d.%s", bname, track->num, track->extension) == -1) {
++ fprintf(stderr, "writetrack(): asprintf() failed, out of memory\n");
+ exit(4);
+ }
+- sprintf(fname, "%s%2.2d.%s", bname, track->num, track->extension);
+
+ printf("%2d: %s ", track->num, fname);
+
+
--- /dev/null
+--- a/bchunk.c 2017-10-30 18:03:58.658741629 +0000
++++ b/bchunk.c 2017-10-30 19:17:36.732855884 +0000
+@@ -426,11 +426,11 @@
+ printf("\nTrack ");
+ if (!(p = strchr(p, ' '))) {
+ fprintf(stderr, "... ouch, no space after TRACK.\n");
+- continue;
++ exit(3);
+ }
+ p++;
+ if (!(t = strchr(p, ' '))) {
+ fprintf(stderr, "... ouch, no space after track number.\n");
+- continue;
++ exit(3);
+ }
+ *t = '\0';
+
+@@ -460,12 +460,12 @@
+ } else if ((p = strstr(s, "INDEX"))) {
+ if (!(p = strchr(p, ' '))) {
+ printf("... ouch, no space after INDEX.\n");
+- continue;
++ exit(3);
+ }
+ p++;
+ if (!(t = strchr(p, ' '))) {
+ printf("... ouch, no space after index number.\n");
+- continue;
++ exit(3);
+ }
+ *t = '\0';
+ t++;
\ No newline at end of file