summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bin/glitch.c10
-rw-r--r--bin/pngo.c10
2 files changed, 14 insertions, 6 deletions
diff --git a/bin/glitch.c b/bin/glitch.c
index 1faf25f6..60a4ff7c 100644
--- a/bin/glitch.c
+++ b/bin/glitch.c
@@ -209,13 +209,17 @@ static void readData(void) {
 	for (;;) {
 		struct Chunk chunk = readChunk();
 		if (0 == memcmp(chunk.type, "IDAT", 4)) {
-			uint8_t idat[chunk.size];
-			readExpect(idat, sizeof(idat), "image data");
+			uint8_t *idat = malloc(chunk.size);
+			if (!idat) err(EX_OSERR, "malloc");
+
+			readExpect(idat, chunk.size, "image data");
 			readCrc();
 
 			stream.next_in = idat;
-			stream.avail_in = sizeof(idat);
+			stream.avail_in = chunk.size;
 			int error = inflate(&stream, Z_SYNC_FLUSH);
+			free(idat);
+
 			if (error == Z_STREAM_END) break;
 			if (error != Z_OK) errx(EX_DATAERR, "%s: inflate: %s", path, stream.msg);
 
diff --git a/bin/pngo.c b/bin/pngo.c
index a6d036c3..d56b0fa6 100644
--- a/bin/pngo.c
+++ b/bin/pngo.c
@@ -300,13 +300,17 @@ static void readData(void) {
 	for (;;) {
 		struct Chunk chunk = readChunk();
 		if (0 == memcmp(chunk.type, "IDAT", 4)) {
-			uint8_t idat[chunk.size];
-			readExpect(idat, sizeof(idat), "image data");
+			uint8_t *idat = malloc(chunk.size);
+			if (!idat) err(EX_OSERR, "malloc");
+
+			readExpect(idat, chunk.size, "image data");
 			readCrc();
 
 			stream.next_in = idat;
-			stream.avail_in = sizeof(idat);
+			stream.avail_in = chunk.size;
 			int error = inflate(&stream, Z_SYNC_FLUSH);
+			free(idat);
+
 			if (error == Z_STREAM_END) break;
 			if (error != Z_OK) errx(EX_DATAERR, "%s: inflate: %s", path, stream.msg);
 
class='logheader'>2018-09-13Add IRCDefault to colors enumJune McEnroe 2018-09-13Return a format->split even at the end of the stringJune McEnroe 2018-09-13Fix weird tab-complete after commaJune McEnroe I have no idea why I did this. 2018-09-13Rewrite UI againJune McEnroe The persistent topic is gone and the status line is now at the top. The status formatting still needs to be reworked. I also want to try showing the nick in the input window so it really looks like your next message. 2018-09-12Add note about C-oJune McEnroe Why are there so few well usable ctrl key bindings? 2018-09-12Use formatParse split to position input cursorJune McEnroe 2018-09-12Factor out IRC formatting parsingJune McEnroe 2018-09-11Add /help equivalent to /manJune McEnroe 2018-09-11Don't render every PM as a pingJune McEnroe 2018-09-11Add urlOpenMatchJune McEnroe 2018-09-10Depend on man.sh for chroot.tar targetJune McEnroe 2018-09-10Set LESSSECURE=1 in man.shJune McEnroe Ridiculous. 2018-09-10Add /man commandJune McEnroe 2018-09-10Install man page in chrootJune McEnroe 2018-09-10Install man pageJune McEnroe 2018-09-10Split keys into subsections and document colorsJune McEnroe 2018-09-10Add "blank" lines to chatte.1June McEnroe 2018-09-10Document key bindings in chatte.1June McEnroe 2018-09-08Document slash commands in chatte.1June McEnroe