ALT Linux Bugzilla
– Attachment 1252 Details for
Bug 8514
работа в 64 битном режиме
New bug
|
Search
|
[?]
|
Help
Register
|
Log In
[x]
|
Forgot Password
Login:
[x]
|
EN
|
RU
[patch]
Proposed patch to fix string overflow
wm-select-0.2-alt-fix64bit.patch (text/plain), 1.73 KB, created by
Damir Shayhutdinov
on 2005-11-18 01:22:43 MSK
(
hide
)
Description:
Proposed patch to fix string overflow
Filename:
MIME Type:
Creator:
Damir Shayhutdinov
Created:
2005-11-18 01:22:43 MSK
Size:
1.73 KB
patch
obsolete
>diff -ru wm-select-0.2.orig/wm-select.c wm-select-0.2/wm-select.c >--- wm-select-0.2.orig/wm-select.c 2005-11-18 00:34:40 +0300 >+++ wm-select-0.2/wm-select.c 2005-11-18 01:10:11 +0300 >@@ -355,37 +355,37 @@ > > for (i = 0; i < n; ++i) > { >- wm_entry entry; >+ wm_entry* entry = malloc(sizeof(wm_entry)); > char *fname; > > if (asprintf (&fname, "%s/%s", WM_DIR, namelist[i]->d_name) < > 0) > error (EXIT_FAILURE, errno, "asprintf"); >- ReadWMConfig (fname, &entry); >- if (!entry.name || !entry.icon || !entry.exec) >+ ReadWMConfig (fname, entry); >+ if (!entry->name || !entry->icon || !entry->exec) > { > error (EXIT_SUCCESS, 0, "%s: config incomplete", > fname); > free (fname); >- if (entry.name) >- free (entry.name); >- if (entry.icon) >- free (entry.icon); >- if (entry.exec) >- free (entry.exec); >- entry.valid = 0; >+ if (entry->name) >+ free (entry->name); >+ if (entry->icon) >+ free (entry->icon); >+ if (entry->exec) >+ free (entry->exec); >+ entry->valid = 0; > memcpy (namelist[i]->d_name, (const char *) &entry, > sizeof (entry)); > continue; > } > free (fname); >- entry.valid = 1; >+ entry->valid = 1; > memcpy (namelist[i]->d_name, (const char *) &entry, > sizeof (entry)); > ++total; > > if (!preferred) >- preferred = entry.exec; >+ preferred = entry->exec; > } > > if (total <= 6) >@@ -400,7 +400,7 @@ > // error (EXIT_SUCCESS, 0, "total=%d, wrap_limit=%d", total, wrap_limit); > for (i = 0; i < n; ++i) > { >- wm_entry *entry = (wm_entry *) (namelist[i]->d_name); >+ wm_entry *entry = *((wm_entry **) (namelist[i]->d_name)); > > if (!entry->valid) > continue; >@@ -417,6 +417,7 @@ > hbox = gtk_hbox_new (1, 0); > wrap_i = 0; > } >+ free(entry); > } > free (namelist); > if (wrap_i)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 8514
: 1252