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

Submitted by:  None
Submitted on:  Sun 03 Jul 2016 08:25:00 AM UTC  
 
Category: DesktopSeverity: 3 - Normal
Item Group: NoneStatus: Duplicate
Privacy: PublicAssigned to: Daiki Ueno <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>
Project AdministratorIn charge of this item.
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

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by haible (Updated the item)
  • -unavailable- added by phako (Posted a comment)
  • -unavailable- added by ueno (Posted a comment)
  • -unavailable- added by phako (Reported the bug without login by mistage)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 27 Nov 2016 12:14:03 PM UTChaibleCategoryNone=>Desktop
      Assigned toNone=>ueno
    Mon 04 Jul 2016 10:02:51 PM UTCuenoStatusNone=>Duplicate
      Open/ClosedOpen=>Closed
    Sun 03 Jul 2016 08:52:25 AM UTCphakoCarbon-Copy-=>Added -unavailable-

    Back to the top


    Powered by Savane 3.1-cleanup1