demos: fclose in cube and tri
Balance every fopen with fclose.
diff --git a/demos/cube.c b/demos/cube.c
index 9702299..7106266 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -965,21 +965,29 @@
return false;
cPtr = fgets(header, 256, fPtr); // P6
- if (cPtr == NULL || strncmp(header, "P6\n", 3))
+ if (cPtr == NULL || strncmp(header, "P6\n", 3)) {
+ fclose(fPtr);
return false;
+ }
do {
cPtr = fgets(header, 256, fPtr);
- if (cPtr == NULL)
+ if (cPtr == NULL) {
+ fclose(fPtr);
return false;
+ }
} while ( !strncmp(header, "#", 1) );
sscanf(header, "%u %u", height, width);
- if (rgba_data == NULL)
+ if (rgba_data == NULL) {
+ fclose(fPtr);
return true;
+ }
fgets(header, 256, fPtr); // Format
- if (cPtr == NULL || strncmp(header, "255\n", 3))
+ if (cPtr == NULL || strncmp(header, "255\n", 3)) {
+ fclose(fPtr);
return false;
+ }
for(int y = 0; y < *height; y++)
{
@@ -993,7 +1001,7 @@
rgba_data += layout->rowPitch;
}
fclose(fPtr);
- return true;
+ return true;
}
static void demo_prepare_texture_image(struct demo *demo,
@@ -1457,6 +1465,7 @@
*psize = size;
+ fclose(fp);
return shader_code;
}