Red Hat Bugzilla – Bug 176402
xscreensaver-demo crashes because of free problem
Last modified: 2007-11-30 17:11:19 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.8) Gecko/20051216 Fedora/1.5-3 Firefox/1.5
Description of problem:
xscreensaver-demo crashes when clicking Documentation button.
When I happened to see one documentation of xscreensaver, it suddenly
crashed. I didn't saw this phenomenon before, so firstly I was not
sure this is due to xscreensaver. However I found one (possible) bug,
so I submitted this report.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. run "xscreensaver-demo"
2. select one hack, push "Settings" and then push "Documentation"
Actual Results: xscreensaver-demo crashes
Expected Results: xscreensaver-demo should not crash.
See the following comments.
Created attachment 122515 [details]
gdb log of xscreensaver-demo
gdb log of xscreensaver-demo.
It complaints about invalid pointer.
Created attachment 122516 [details]
patch to point to the correct address to be freed
Patch to point to the correct address to be freed; perhaps this
patch will solve this problem.
In the function manual_cb in driver/demo-Gtk.c, if the char* variable
"name" (the hack name) have slash, then the pointer of name is changed
to select only the basename of the original hack name.
Then, at the last of this function manual_cb, it tries to free name;
So, if the hack name is given by the absolute path, free name fails.
This patch is to save the original pointer of the variable and
to free the saved pointer.
Verified that fixed in 4.23-1.