commit fdf5a2b53a7499e5860323255d914191aee7cdba
Author: FRIGN <[email protected]>
AuthorDate: Mon Mar 21 22:54:49 2016 +0100
Commit: FRIGN <[email protected]>
CommitDate: Mon Mar 21 22:54:49 2016 +0100
Write a better format for the row-buffer allocation
diff --git a/ff2ppm.c b/ff2ppm.c
index 09eb346..265e317 100644
--- a/ff2ppm.c
+++ b/ff2ppm.c
@@ -74,17 +74,17 @@ main(int argc, char *argv[])
fprintf(stderr, "%s: invalid height: zero\n", argv0);
return 1;
}
+
if (width > SIZE_MAX / ((sizeof("RGBA") - 1) * sizeof(uint16_t))) {
fprintf(stderr, "%s: row length integer overflow\n", argv0);
return 1;
}
-
rowlen = width * (sizeof("RGBA") - 1);
if (!(row = malloc(rowlen * sizeof(uint16_t)))) {
fprintf(stderr, "%s: malloc: %s\n", argv0, strerror(errno));
return 1;
}
- if (!(rowout = malloc(width * sizeof("RGB") - 1))) {
+ if (!(rowout = malloc(width * (sizeof("RGB") - 1) * sizeof(uint16_t))))
{
fprintf(stderr, "%s: malloc: %s\n", argv0, strerror(errno));
return 1;
}