On Tue, 17 Jul 2012, Christophe escribió: > ----- Rodolfo García Peñas <[email protected]> a écrit : > > Hi, > > > > I am working in the debian stuff. When I ran the new package (I did some > > changes in the debian folder) I got a buffer overflow. The gdb output is > > attached. > > > > Best regards, > > kix > > Hi, > > Thanks for the gdb trace that can help understanding the issue. However I see > a number of strange things inside (see below), but I will continue to > investigate on my side. I may ask for your menu file later, although I am > running on Debian too so I guess I should have it too. >
Hi Christophe, with the latest patches (I did git pull now, and build the debian package), my wmaker is freeze. I was running my previous wmaker binary, build the new next branch package, and make "Reload Window Maker". The wmaker binary is freeze here: (gdb) cont Continuing. ^C Program received signal SIGINT, Interrupt. 0x00007f63ecb86500 in __open_nocancel () at ../sysdeps/unix/syscall-template.S:82 82 ../sysdeps/unix/syscall-template.S: No existe el fichero o el directorio. (gdb) bt #0 0x00007f63ecb86500 in __open_nocancel () at ../sysdeps/unix/syscall-template.S:82 #1 0x00007f63ecb2c6f1 in *__GI__IO_file_open (fp=0xa52390, filename=0x7fffa9407590 "/wmmacros", posix_mode=0, prot=438, read_write=8, is32not64=1) at fileops.c:232 #2 0x00007f63ecb2c85b in _IO_new_file_fopen (fp=0xa52390, filename=0x0, mode=<optimized out>, is32not64=<optimized out>) at fileops.c:336 #3 0x00007f63ecb21436 in __fopen_internal (filename=0x7fffa9407590 "/wmmacros", mode=0x7f63eda3c0c0 "rb", is32=1) at ../sysdeps/wordsize-64/../../libio/iofopen.c:93 #4 0x00007f63eda33541 in menu_parser_include_file (parser=0xa41370) at menuparser.c:494 #5 0x00007f63eda33dbf in menu_parser_get_directive (parser=0xa41370) at menuparser.c:379 #6 WMenuParserGetLine (top_parser=0xa41370, title=0x7fffa9407e60, command=0x7fffa9407e78, parameter=0x7fffa9407e70, shortcut=0x7fffa9407e68) at menuparser.c:170 #7 0x000000000044123f in readMenuFile (scr=0x937330, file_name=<optimized out>) at rootmenu.c:951 #8 0x00000000004417f1 in configureMenu (scr=0x937330, definition=<optimized out>, includeGlobals=<optimized out>) at rootmenu.c:1365 #9 0x00000000004431e3 in OpenRootMenu (scr=0x937330, x=-10000, y=-10000, keyboard=0) at rootmenu.c:1527 #10 0x0000000000444ac7 in wScreenRestoreState (scr=0x937330) at screen.c:840 #11 0x000000000044981d in StartUp (defaultScreenOnly=<optimized out>) at startup.c:749 #12 0x000000000042fcda in real_main (argv=<optimized out>, argc=2) at main.c:835 #13 main (argc=2, argv=<optimized out>) at main.c:647 (gdb) Probably the problem is that the /wmmacros don't exists ;-). Then I did "> /wmmacros" and yup! wmaker is started. Anyway, the menu_parser_include_file() don't gets the correct path. OTOH, I have the problem with the double quotes in the menu (still now, after your patches :-( ). I don't like how you did this change, probably you should check if the first character is " or ' (like you are doing it now), but if is true, you should check if the last character is " o ' (the same character), because your patch removes the first and the last character if is " or ', but don't check if the word is quoted or the users want this character there. For these examples (column 1) you get these (col 2), but IMO, you should get col 3: "hi" -> hi -> hi "hi -> hi -> "hi hi" -> hi -> hi" "hi' -> hi -> "hi' I am busy with other things now, for this reason I didn't work in these patches. Finally, I will try to check your patches (CPP) tomorrow, but I am not sure because I have a lot of things to do now. Best regards, kix -- ||// //\\// Rodolfo "kix" Garcia ||\\// //\\ http://www.kix.es/ -- To unsubscribe, send mail to [email protected].
