]> git.proxmox.com Git - grub2.git/commitdiff
* grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 19 Apr 2013 13:09:15 +0000 (15:09 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 19 Apr 2013 13:09:15 +0000 (15:09 +0200)
handling when creating text_layer failed.
* grub-core/video/video.c (grub_video_create_render_target):
Set result to 0 on error.
(grub_video_delete_render_target): Do not dereference NULL.

ChangeLog
grub-core/commands/videotest.c
grub-core/video/video.c

index 3799129d04701041e2d2a243bd648dc87d8ff6ee..3d4b23d92bc0a32cd028c5451edb0ad450de90a9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
+       handling when creating text_layer failed.
+       * grub-core/video/video.c (grub_video_create_render_target):
+       Set result to 0 on error.
+       (grub_video_delete_render_target): Do not dereference NULL.
+
 2013-04-19  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
index 2e4b3a23c7a1fa2daa4c907d3bc759f6e88f7406..2256237f952e1309801b3659ea941ee0852cbce9 100644 (file)
@@ -71,10 +71,10 @@ grub_cmd_videotest (grub_command_t cmd __attribute__ ((unused)),
     grub_font_t fixed;
     struct grub_font_glyph *glyph;
 
-    grub_video_create_render_target (&text_layer, width, height,
-                                    GRUB_VIDEO_MODE_TYPE_RGB
-                                    | GRUB_VIDEO_MODE_TYPE_ALPHA);
-    if (!text_layer)
+    if (grub_video_create_render_target (&text_layer, width, height,
+                                        GRUB_VIDEO_MODE_TYPE_RGB
+                                        | GRUB_VIDEO_MODE_TYPE_ALPHA)
+       || !text_layer)
       goto fail;
 
     grub_video_set_active_render_target (text_layer);
index aab9b181a40cb79de644e72e1f52bc4fcbf9915a..844f36c08c13b43a4af67d6ef87243b5dd97d5de 100644 (file)
@@ -339,6 +339,7 @@ grub_video_create_render_target (struct grub_video_render_target **result,
                                  unsigned int width, unsigned int height,
                                  unsigned int mode_type)
 {
+  *result = 0;
   if (! grub_video_adapter_active)
     return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
 
@@ -351,6 +352,8 @@ grub_video_create_render_target (struct grub_video_render_target **result,
 grub_err_t
 grub_video_delete_render_target (struct grub_video_render_target *target)
 {
+  if (!target)
+    return GRUB_ERR_NONE;
   if (! grub_video_adapter_active)
     return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");