bugGNU gettext - Bugs: bug #48384, Memory error in desktop_parse

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #48384: Memory error in desktop_parse

Submitter:  None
Submitted:  Sun 03 Jul 2016 08:25:00 AM UTC
   
 
Category:  Desktop Severity:  3 - Normal
Item Group:  None Status:  Duplicate
Privacy:  Public Assigned to:  ueno
Open/Closed:  Closed

Mon 04 Jul 2016 06:03:45 AM UTC, comment #3: 

Nevermind, fixed with 0.19.8.1.2-8527, please close duplicate with 47991

Jens Georg <phako>
Mon 04 Jul 2016 05:58:05 AM UTC, comment #2: 

Damn,you are right, it seems somehow make install for git master failed and I was still using 0.19.7 indeed. I will check later today with master.

Jens Georg <phako>
Mon 04 Jul 2016 12:05:53 AM UTC, comment #1: 

Which gettext version did you use for testing?  The line numbers shown in the log indicates that you are still using 0.19.7 or earlier.

Daiki Ueno <ueno>
Group administrator
Sun 03 Jul 2016 08:25:00 AM UTC, original submission:  

I have an issue that looks somewhat similar to http://savannah.gnu.org/bugs/?47991.

I get random "invalid multibyte character" on a desktop file (https://git.gnome.org/browse/shotwell/tree/misc/shotwell.desktop.in.in) while trying to update the pot file in shotwell.

Valgrind shows some invalid reads in desktop_parse:

==13704== Invalid read of size 1
==13704==    at 0x4C30F62: strlen (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x4E72A48: desktop_unescape_string (read-desktop.c:580)
==13704==    by 0x42B7DE: extract_desktop_handle_pair (x-desktop.c:126)
==13704==    by 0x4E726C6: desktop_parse (read-desktop.c:504)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==  Address 0x9c540d9 is 9 bytes inside a block of size 200 free'd
==13704==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x50AF76D: xrealloc (xmalloc.c:125)
==13704==    by 0x4E72675: desktop_lex (read-desktop.c:437)
==13704==    by 0x4E72675: desktop_parse (read-desktop.c:492)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==  Block was alloc'd at
==13704==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x50AF76D: xrealloc (xmalloc.c:125)
==13704==    by 0x4E7279E: desktop_lex (read-desktop.c:302)
==13704==    by 0x4E7279E: desktop_parse (read-desktop.c:492)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==
==13704== Invalid read of size 1
==13704==    at 0x4C30F74: strlen (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x4E72A48: desktop_unescape_string (read-desktop.c:580)
==13704==    by 0x42B7DE: extract_desktop_handle_pair (x-desktop.c:126)
==13704==    by 0x4E726C6: desktop_parse (read-desktop.c:504)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==  Address 0x9c540da is 10 bytes inside a block of size 200 free'd
==13704==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x50AF76D: xrealloc (xmalloc.c:125)
==13704==    by 0x4E72675: desktop_lex (read-desktop.c:437)
==13704==    by 0x4E72675: desktop_parse (read-desktop.c:492)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==  Block was alloc'd at
==13704==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x50AF76D: xrealloc (xmalloc.c:125)
==13704==    by 0x4E7279E: desktop_lex (read-desktop.c:302)
==13704==    by 0x4E7279E: desktop_parse (read-desktop.c:492)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==
==13704== Invalid read of size 1
==13704==    at 0x4E72A52: desktop_unescape_string (read-desktop.c:583)
==13704==    by 0x42B7DE: extract_desktop_handle_pair (x-desktop.c:126)
==13704==    by 0x4E726C6: desktop_parse (read-desktop.c:504)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==  Address 0x9c540d9 is 9 bytes inside a block of size 200 free'd
==13704==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x50AF76D: xrealloc (xmalloc.c:125)
==13704==    by 0x4E72675: desktop_lex (read-desktop.c:437)
==13704==    by 0x4E72675: desktop_parse (read-desktop.c:492)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==  Block was alloc'd at
==13704==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x50AF76D: xrealloc (xmalloc.c:125)
==13704==    by 0x4E7279E: desktop_lex (read-desktop.c:302)
==13704==    by 0x4E7279E: desktop_parse (read-desktop.c:492)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==
==13704== Invalid read of size 1
==13704==    at 0x4E72A6D: desktop_unescape_string (read-desktop.c:583)
==13704==    by 0x42B7DE: extract_desktop_handle_pair (x-desktop.c:126)
==13704==    by 0x4E726C6: desktop_parse (read-desktop.c:504)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==  Address 0x9c540da is 10 bytes inside a block of size 200 free'd
==13704==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x50AF76D: xrealloc (xmalloc.c:125)
==13704==    by 0x4E72675: desktop_lex (read-desktop.c:437)
==13704==    by 0x4E72675: desktop_parse (read-desktop.c:492)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
==13704==  Block was alloc'd at
==13704==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13704==    by 0x50AF76D: xrealloc (xmalloc.c:125)
==13704==    by 0x4E7279E: desktop_lex (read-desktop.c:302)
==13704==    by 0x4E7279E: desktop_parse (read-desktop.c:492)
==13704==    by 0x42B8E1: extract_desktop (x-desktop.c:189)
==13704==    by 0x406DEF: extract_from_file (xgettext.c:2253)
==13704==    by 0x4052F4: main (xgettext.c:987)
=

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by haible (Updated the item)
  • -email is unavailable- added by ueno (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-11-27 haible CategoryNone Desktop
        Assigned toNone ueno
    2016-07-04 ueno StatusNone Duplicate
        Open/ClosedOpen Closed
    2016-07-03 phako Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code