]> git.eshelyaron.com Git - emacs.git/commitdiff
* frame.c (x_set_frame_parameters): Don't use uninitialized locals.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 31 Jul 2014 13:55:12 +0000 (06:55 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 31 Jul 2014 13:55:12 +0000 (06:55 -0700)
Without this change, the code can access the local variable 'width'
even when it has not been initialized, and likewise for 'height';
in either case this leads to undefined behavior.

src/ChangeLog
src/frame.c

index b5c9e6d6b30dfd2077ee22a13776db9153f4492f..985e3b33e0612bb0628528de6535020a5c615b73 100644 (file)
@@ -1,3 +1,10 @@
+2014-07-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * frame.c (x_set_frame_parameters): Don't use uninitialized locals.
+       Without this change, the code can access the local variable 'width'
+       even when it has not been initialized, and likewise for 'height';
+       in either case this leads to undefined behavior.
+
 2014-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * xrdb.c (x_load_resources) [USE_MOTIF]: Although not strictly
index fa9bdfcd065e96c5a8eaa850b386a98073ac5c85..1b9f818292f95987b375c4013d8b235d9590375a 100644 (file)
@@ -3198,10 +3198,9 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist)
 
     XSETFRAME (frame, f);
 
-    if ((width_change || height_change)
-        && (width != FRAME_TEXT_WIDTH (f)
-            || height != FRAME_TEXT_HEIGHT (f)
-            || f->new_height || f->new_width))
+    if (((width_change && width != FRAME_TEXT_WIDTH (f))
+        || (height_change && height != FRAME_TEXT_HEIGHT (f)))
+       && (f->new_height || f->new_width))
       {
        /* If necessary provide default values for HEIGHT and WIDTH.  Do
           that here since otherwise a size change implied by an