Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
grip
grip-3.2.0-buffer-size.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File grip-3.2.0-buffer-size.diff of Package grip
--- src/id3.c +++ src/id3.c 2005/09/14 15:58:43 @@ -251,8 +251,8 @@ if ( frames[ i ] ) { char *c_data = NULL; - char gen[ 5 ] = "( )"; - char trk[ 4 ] = " "; + char gen[ 6 ] = "( )"; + char trk[ 5 ] = " "; switch( frameids[ i ] ) { case ID3FID_TITLE: This buffer overflow is in MakeAboutPage, so there was no workaround. The only way to start grip without it, is not not use Japanese (i.e. delete the translation file ja/grip.mo) See https://bugzilla.novell.com/show_bug.cgi?id=132459 (Grip locale problem) for details: --- src/grip.c 2006/03/21 14:55:44 1.1 +++ src/grip.c 2006/03/21 14:56:29 @@ -541,7 +541,7 @@ MakeAboutPage() GtkWidget *logo; GtkWidget *ebox; GtkWidget *button; - char versionbuf[20]; + char versionbuf[32]; /* Fixes crash with LANG=ja_JP (ja.po) at startup */ aboutpage=MakeNewPage(uinfo->notebook,_("About")); The warning: launch.c:249: warning: passing argument 4 of 'g_locale_from_utf8' from incompatible pointer type was critical. It appeared at: x86_64, ia64, ppc64, s390, s390x On these machines, gsize is obviosly not defined as "int" but as different value, on 64-bit machine it is certainly a 64-bit type. Only a differing size of the pointer is an issue at this use of the variable. Fixing it fixes the crash at start encoding on x86_64: --- src/launch.c 2006/03/22 11:27:42 1.1 +++ src/launch.c 2006/03/22 11:28:02 @@ -243,7 +243,7 @@ void ArgsToLocale(GString **args) char *new_str; GString *new_arg; int pos; - int len; + gsize len; for(pos=1;args[pos];pos++) { new_str=g_locale_from_utf8(args[pos]->str,-1,NULL,&len,NULL); The line above is the only use of "len", being the wrong type caused data corruption or prevented this function from working correctly and grip crashed shortly afterwards on x86_64.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor