Thread: [brlcad-commits] CVS: brlcad/src/adrt/libutil camera.c, 1.24, 1.25 display.c, 1.25, 1.26 image.c, 1
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: Sean M. <br...@us...> - 2007-03-20 20:05:12
|
Update of /cvsroot/brlcad/brlcad/src/adrt/libutil In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10675/adrt/libutil Modified Files: camera.c display.c image.c umath.c Log Message: since adrt uses malloc, add checks on use for a null return value. this probably would be a good reason to being associating with libbu.. (this fixes sf bug 1680679 - Check return codes everywhere; submitted by Markus Elfring (elfring)) Index: camera.c =================================================================== RCS file: /cvsroot/brlcad/brlcad/src/adrt/libutil/camera.c,v retrieving revision 1.24 retrieving revision 1.25 diff -w -u -r1.24 -r1.25 --- camera.c 8 Feb 2007 06:49:19 -0000 1.24 +++ camera.c 20 Mar 2007 20:05:08 -0000 1.25 @@ -87,8 +87,17 @@ /* The camera will use a thread for every cpu the machine has. */ camera->thread_num = threads ? threads : get_nprocs(); - if(camera->thread_num > 1) + if(camera->thread_num > 1) { util_tlist = (pthread_t *)malloc(sizeof(pthread_t) * camera->thread_num); + if (!util_tlist) { + perror("malloc"); + exit(1); + } + if (!util_tlist) { + perror("util_tlist"); + exit(1); + } + } } @@ -116,6 +125,10 @@ if(camera->dof == 0.0) { camera->view_num = 1; camera->view_list = (util_camera_view_t *)malloc(sizeof(util_camera_view_t) * camera->view_num); + if (!camera->view_list) { + perror("view_list"); + exit(1); + } /* Generate unitized look vector */ MATH_VEC_SUB(fov_look, camera->focus, camera->pos); @@ -255,6 +268,10 @@ /* Generate camera positions for depth of field */ camera->view_num = UTIL_CAMERA_DOF_SAMPLES*UTIL_CAMERA_DOF_SAMPLES; camera->view_list = (util_camera_view_t *)malloc(sizeof(util_camera_view_t) * camera->view_num); + if (!camera->view_list) { + perror("view_list"); + exit(1); + } for(i = 0; i < UTIL_CAMERA_DOF_SAMPLES; i++) { for(n = 0; n < UTIL_CAMERA_DOF_SAMPLES; n++) { Index: display.c =================================================================== RCS file: /cvsroot/brlcad/brlcad/src/adrt/libutil/display.c,v retrieving revision 1.25 retrieving revision 1.26 diff -w -u -r1.25 -r1.26 --- display.c 8 Feb 2007 06:49:19 -0000 1.25 +++ display.c 20 Mar 2007 20:05:08 -0000 1.26 @@ -100,21 +100,11 @@ util_display_buffer = SDL_CreateRGBSurface(SDL_HWSURFACE, util_display_screen_w, util_display_screen_h, 24, #if SDL_BYTEORDER == SDL_LIL_ENDIAN - 0x000000ff, 0x0000ff00, 0x00ff0000, 0x00000000); + 0x000000ff, 0x0000ff00, 0x00ff0000, #else - 0x00ff0000, 0x0000ff00, 0x000000ff, 0x00000000); + 0x00ff0000, 0x0000ff00, 0x000000ff, #endif - - -#if 0 -{ - const SDL_VideoInfo *foo; - - foo = SDL_GetVideoInfo(); - printf("hw: %d %d %d %d\n", foo->hw_available, foo->blit_hw, foo->blit_hw_CC, foo->blit_hw_A); -} -#endif - + 0x00000000); util_display_rect.x = 0; util_display_rect.y = 0; @@ -128,10 +118,11 @@ util_display_font = SDL_CreateRGBSurface(SDL_SWSURFACE, util_font.width, util_font.height, 32, #if SDL_BYTEORDER == SDL_LIL_ENDIAN - 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000); + 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000 #else - 0xff000000, 0x00ff0000, 0x0000ff00, 0x000000ff); + 0xff000000, 0x00ff0000, 0x0000ff00, 0x000000ff #endif + ); /* printf("util_font width: %d, %d\n", util_font.width, util_font.height); */ memcpy(util_display_font->pixels, util_font.pixel_data, util_font.width * util_font.height * 4); @@ -349,6 +340,10 @@ int n; code = (char *)malloc((*content_lines+1) * 80); + if (!code) { + perror("code"); + exit(1); + } code[0] = 0; for(i = 0; i <= *content_lines; i++) { Index: image.c =================================================================== RCS file: /cvsroot/brlcad/brlcad/src/adrt/libutil/image.c,v retrieving revision 1.12 retrieving revision 1.13 diff -w -u -r1.12 -r1.13 --- image.c 8 Feb 2007 06:49:19 -0000 1.12 +++ image.c 20 Mar 2007 20:05:08 -0000 1.13 @@ -68,6 +68,10 @@ fread(h, sizeof(int), 1, fh); src = malloc(*w * *h * 4); + if (!src) { + perror("malloc"); + exit(1); + } fread(src, *w * *h * 4, 1, fh); @@ -106,6 +110,10 @@ long dest_len; dest = malloc(w * h * 4 + 1024); + if (!dest) { + perror("malloc"); + exit(1); + } dest_len = w * h * 4 + 1024; compress(dest, &dest_len, image, w * h * 4); Index: umath.c =================================================================== RCS file: /cvsroot/brlcad/brlcad/src/adrt/libutil/umath.c,v retrieving revision 1.10 retrieving revision 1.11 diff -w -u -r1.10 -r1.11 --- umath.c 8 Feb 2007 06:49:19 -0000 1.10 +++ umath.c 20 Mar 2007 20:05:08 -0000 1.11 @@ -59,6 +59,10 @@ if(Ac == Br) { M = (TFLOAT*)malloc(sizeof(TFLOAT)*Ar*Bc); + if (!M) { + perror("malloc"); + exit(1); + } for (i = 0; i < Bc; i++) for (j = 0; j < Ar; j++) { M[j*Bc+i] = 0; |