]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - jpeg.c
Fix a potential memory leak with wavefront sounds
[xonotic/darkplaces.git] / jpeg.c
diff --git a/jpeg.c b/jpeg.c
index 44e53e4216074c20d62bd08952205923fc0a8343..effab6a1051dba3ee62f222eabbf1dca99cd5df4 100644 (file)
--- a/jpeg.c
+++ b/jpeg.c
@@ -27,8 +27,8 @@
 #include "jpeg.h"
 #include "image_png.h"
 
-cvar_t sv_writepicture_quality = {CVAR_SAVE, "sv_writepicture_quality", "10", "WritePicture quality offset (higher means better quality, but slower)"};
-cvar_t r_texture_jpeg_fastpicmip = {CVAR_SAVE, "r_texture_jpeg_fastpicmip", "1", "perform gl_picmip during decompression for JPEG files (faster)"};
+cvar_t sv_writepicture_quality = {CVAR_SERVER | CVAR_SAVE, "sv_writepicture_quality", "10", "WritePicture quality offset (higher means better quality, but slower)"};
+cvar_t r_texture_jpeg_fastpicmip = {CVAR_CLIENT | CVAR_SAVE, "r_texture_jpeg_fastpicmip", "1", "perform gl_picmip during decompression for JPEG files (faster)"};
 
 // jboolean is unsigned char instead of int on Win32
 #ifdef WIN32
@@ -559,7 +559,7 @@ static jboolean JPEG_FillInputBuffer (j_decompress_ptr cinfo)
     cinfo->src->next_input_byte = jpeg_eoi_marker;
     cinfo->src->bytes_in_buffer = 2;
 
-       return TRUE;
+       return true;
 }
 
 static void JPEG_SkipInputData (j_decompress_ptr cinfo, long num_bytes)
@@ -624,7 +624,7 @@ unsigned char* JPEG_LoadImage_BGRA (const unsigned char *f, int filesize, int *m
        cinfo.err = qjpeg_std_error (&jerr);
        cinfo.err->error_exit = JPEG_ErrorExit;
        JPEG_MemSrc (&cinfo, f, filesize);
-       qjpeg_read_header (&cinfo, TRUE);
+       qjpeg_read_header (&cinfo, true);
        cinfo.scale_num = 1;
        cinfo.scale_denom = (1 << submip);
        qjpeg_start_decompress (&cinfo);
@@ -848,7 +848,7 @@ qboolean JPEG_SaveImage_preflipped (const char *filename, int width, int height,
        cinfo.in_color_space = JCS_RGB;
        cinfo.input_components = 3;
        qjpeg_set_defaults (&cinfo);
-       qjpeg_set_quality (&cinfo, (int)(scr_screenshot_jpeg_quality.value * 100), TRUE);
+       qjpeg_set_quality (&cinfo, (int)(scr_screenshot_jpeg_quality.value * 100), true);
        qjpeg_simple_progression (&cinfo);
 
        // turn off subsampling (to make text look better)
@@ -1065,6 +1065,7 @@ qboolean Image_Compress(const char *imagename, size_t maxsize, void **buf, size_
        {
                *size = i->compressed_size;
                *buf = i->compressed;
+        return (*buf != NULL);
        }
 
        // load the image