Hello community,

here is the log from the commit of package lemonbar for openSUSE:Factory 
checked in at 2019-06-01 09:56:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lemonbar (Old)
 and      /work/SRC/openSUSE:Factory/.lemonbar.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lemonbar"

Sat Jun  1 09:56:33 2019 rev:2 rq:706421 version:1.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/lemonbar/lemonbar.changes        2016-08-26 
23:16:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lemonbar.new.5148/lemonbar.changes      
2019-06-01 09:56:36.647178624 +0200
@@ -1,0 +2,13 @@
+Tue May  7 23:45:42 UTC 2019 - Xaver Hellauer <[email protected]>
+
+- Update to version 1.3
+  + Correct handling of escaped % characters.
+  + The WM_NAME atom is now set for all the windows.
+  + Fix an unsafe memory access during the argument parsing.
+  + Correct the coordinate calculation for the EWMH STRUT atoms.
+- Version 1.2
+  + The -f switch now doesn't accept comma-separated font names
+    anymore, use multiple -f instead.
+  + Named colors aren't supported anymore.
+
+-------------------------------------------------------------------

Old:
----
  v1.2.tar.gz

New:
----
  v1.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lemonbar.spec ++++++
--- /var/tmp/diff_new_pack.Tm9c0F/_old  2019-06-01 09:56:37.267178412 +0200
+++ /var/tmp/diff_new_pack.Tm9c0F/_new  2019-06-01 09:56:37.271178411 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           lemonbar
-Version:        1.2
+Version:        1.3
 Release:        0
 Summary:        An X11 bar
 License:        MIT

++++++ v1.2.tar.gz -> v1.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bar-1.2/Makefile new/bar-1.3/Makefile
--- old/bar-1.2/Makefile        2016-04-23 09:06:00.000000000 +0200
+++ new/bar-1.3/Makefile        2017-11-20 11:47:43.000000000 +0100
@@ -1,5 +1,5 @@
 # This snippet has been shmelessly stol^Hborrowed from thestinger's repose 
Makefile
-VERSION = 1.1
+VERSION = 1.2
 GIT_DESC=$(shell test -d .git && git describe --always 2>/dev/null)
 
 ifneq "$(GIT_DESC)" ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bar-1.2/README.pod new/bar-1.3/README.pod
--- old/bar-1.2/README.pod      2016-04-23 09:06:00.000000000 +0200
+++ new/bar-1.3/README.pod      2017-11-20 11:47:43.000000000 +0100
@@ -69,7 +69,7 @@
 
 =head1 FORMATTING
 
-lemonbar provides a screenrc-inspired formatting syntax to allow full 
customization at runtime. Every formatting block is opened with C<%{> and 
closed by C<}> and accepts the following commands, the parser tries it's best 
to handle malformed input. Use C<%%> to get a literal percent sign (C<%>).
+lemonbar provides a screenrc-inspired formatting syntax to allow full 
customization at runtime. Every formatting block is opened with C<%{> and 
closed by C<}> and accepts the following commands, the parser tries its best to 
handle malformed input. Use C<%%> to get a literal percent sign (C<%>).
 
 =over
 
@@ -185,7 +185,7 @@
 
 =head1 AUTHOR
 
-2012-2015 (C) The Lemon Man
+2012-2017 (C) The Lemon Man
 
 Xinerama support was kindly contributed by Stebalien
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bar-1.2/lemonbar.c new/bar-1.3/lemonbar.c
--- old/bar-1.2/lemonbar.c      2016-04-23 09:06:00.000000000 +0200
+++ new/bar-1.3/lemonbar.c      2017-11-20 11:47:43.000000000 +0100
@@ -1,4 +1,5 @@
 // vim:sw=4:ts=4:et:
+#define _POSIX_C_SOURCE 200809L
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -601,6 +602,10 @@
             // Eat the trailing }
             p++;
         } else { // utf-8 -> ucs-2
+            // Escaped % symbol, eat the first one
+            if (p[0] == '%' && p[1] == '%')
+                p++;
+
             uint8_t *utf = (uint8_t *)p;
             uint16_t ucs;
 
@@ -751,11 +756,11 @@
         if (topbar) {
             strut[2] = bh;
             strut[8] = mon->x;
-            strut[9] = mon->x + mon->width;
+            strut[9] = mon->x + mon->width - 1;
         } else {
             strut[3]  = bh;
             strut[10] = mon->x;
-            strut[11] = mon->x + mon->width;
+            strut[11] = mon->x + mon->width - 1;
         }
 
         xcb_change_property(c, XCB_PROP_MODE_REPLACE, mon->window, 
atom_list[NET_WM_WINDOW_TYPE], XCB_ATOM_ATOM, 32, 1, 
&atom_list[NET_WM_WINDOW_TYPE_DOCK]);
@@ -1207,7 +1212,7 @@
 
         // Set the WM_NAME atom to the user specified value
         if (wm_name)
-            xcb_change_property(c, XCB_PROP_MODE_REPLACE, monhead->window, 
XCB_ATOM_WM_NAME, XCB_ATOM_STRING, 8 ,strlen(wm_name), wm_name);
+            xcb_change_property(c, XCB_PROP_MODE_REPLACE, mon->window, 
XCB_ATOM_WM_NAME, XCB_ATOM_STRING, 8 ,strlen(wm_name), wm_name);
     }
 
     xcb_flush(c);
@@ -1303,7 +1308,7 @@
                 exit (EXIT_SUCCESS);
             case 'g': (void)parse_geometry_string(optarg, geom_v); break;
             case 'p': permanent = true; break;
-            case 'n': wm_name = optarg; break;
+            case 'n': wm_name = strdup(optarg); break;
             case 'b': topbar = false; break;
             case 'd': dock = true; break;
             case 'f': font_load(optarg); break;
@@ -1338,6 +1343,8 @@
 
     // Do the heavy lifting
     init(wm_name);
+    // The string is strdup'd when the command line arguments are parsed
+    free(wm_name);
     // Get the fd to Xserver
     pollin[1].fd = xcb_get_file_descriptor(c);
 


Reply via email to