Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

so version has not been upgraded to 2.9.5 #10

Closed
Lesseps opened this issue Jan 16, 2016 · 4 comments
Closed

so version has not been upgraded to 2.9.5 #10

Lesseps opened this issue Jan 16, 2016 · 4 comments
Assignees
Labels
Milestone

Comments

@Lesseps
Copy link

Lesseps commented Jan 16, 2016

Previous releases of fuse (libfuse) had package and so versions identical:

fuse-2.9.x -> libfuse.so.2.9.x

In present version 2.9.5, should be libfuse.so.2.9.5, not libfuse.so.2.9.4 . This has not been done.

It is defined in lib/Makefile.am, and should be

libfuse_la_LDFLAGS = -pthread @libfuse_libs@ -version-number 2:9:5 \

not

libfuse_la_LDFLAGS = -pthread @libfuse_libs@ -version-number 2:9:4 \

For users, fix just changing lib/Makefile.in with

sed -i  's/2:9:4/2:9:5/' lib/Makefile.in

For the package, tested the same with lib/Makefile.am:

sed -i  's/2:9:4/2:9:5/' lib/Makefile.am

but needed to autoreconf.

Please, tell me if you need any other info.

Thanks.

@Nikratio
Copy link
Contributor

Thanks for the extensive report! I'll make sure to do this correctly in the future!

@Nikratio
Copy link
Contributor

(I don't think I need to update this release, because there were absolutely no changes to the API)

@Nikratio
Copy link
Contributor

Opening this again to prevent further duplicates.

@Nikratio Nikratio reopened this Feb 19, 2016
@Nikratio Nikratio added the bug label Mar 24, 2016
@Nikratio Nikratio added this to the FUSE 2.9.6 milestone Mar 24, 2016
@Nikratio Nikratio self-assigned this Mar 24, 2016
@Nikratio
Copy link
Contributor

Fixed in 2.9.6.

jgalar added a commit to jgalar/libfuse that referenced this issue Jul 4, 2020
setlocale() can fail, returning NULL, if the user has an invalid (or
missing) locale set in the LANG environment variable.

iconv_help() currently passes the return value of setlocale(...)
directly to strdup() without checking if it is NULL, resulting in a
crash.

Stack trace of the when the process receives SIGSEGV:

(gdb) bt
 #0  0x00007fabd0fcc4b5 in __strlen_avx2 () from /usr/lib/libc.so.6
 libfuse#1  0x00007fabd0ef9233 in strdup () from /usr/lib/libc.so.6
 libfuse#2  0x00007fabd13b8128 in iconv_help () at ../lib/modules/iconv.c:641
 libfuse#3  0x00007fabd13b81a8 in iconv_opt_proc (data=0x55580a6ee850, arg=0x55580a6edfb0 "-h", key=0, outargs=0x7ffeeb1a8ec8) at ../lib/modules/iconv.c:658
 libfuse#4  0x00007fabd13af7d5 in call_proc (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h", key=0, iso=0) at ../lib/fuse_opt.c:161
 libfuse#5  0x00007fabd13afaf1 in process_opt (ctx=0x7ffeeb1a8ea0, opt=0x7fabd13c3d40 <iconv_opts>, sep=0, arg=0x55580a6edfb0 "-h", iso=0) at ../lib/fuse_opt.c:233
 libfuse#6  0x00007fabd13afd5a in process_gopt (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h", iso=0) at ../lib/fuse_opt.c:285
 libfuse#7  0x00007fabd13b0117 in process_one (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h") at ../lib/fuse_opt.c:368
 libfuse#8  0x00007fabd13b0190 in opt_parse (ctx=0x7ffeeb1a8ea0) at ../lib/fuse_opt.c:379
 libfuse#9  0x00007fabd13b03d3 in fuse_opt_parse (args=0x7ffeeb1a8f70, data=0x55580a6ee850, opts=0x7fabd13c3d40 <iconv_opts>, proc=0x7fabd13b8186 <iconv_opt_proc>)
    at ../lib/fuse_opt.c:414
 libfuse#10 0x00007fabd13b8226 in iconv_new (args=0x7ffeeb1a8f70, next=0x0) at ../lib/modules/iconv.c:680
 libfuse#11 0x00007fabd13a5627 in print_module_help (name=0x7fabd13b9e1c "iconv", fac=0x7fabd13d48e0 <fuse_module_iconv_factory>) at ../lib/fuse.c:4692
 libfuse#12 0x00007fabd13a56aa in fuse_lib_help (args=0x7ffeeb1a9238) at ../lib/fuse.c:4721

To reproduce, simply set LANG="something_invalid" and call
fuse_lib_help().

iconv_help() is modified to print an error when setlocale() fails. It
then carries on printing the iconv help.

Reading setlocale(3), it does not appear that the strdup() of the
result was not necessary.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@gmail.com>
jgalar added a commit to jgalar/libfuse that referenced this issue Jul 4, 2020
setlocale() can fail, returning NULL, if the user has an invalid (or
missing) locale set in the LANG environment variable.

In my case, this happens when using VS Code's integrated terminal to
launch a fuse-based filesystem. A bug (fix upcoming) results in VS Code
setting an invalid locale.

iconv_help() currently passes the return value of setlocale(...)
directly to strdup() without checking if it is NULL, resulting in a
crash.

To reproduce, simply set LANG="something_invalid" and call
fuse_lib_help().

Stack trace when the process receives `SIGSEGV`:

(gdb) bt
 #0  0x00007fabd0fcc4b5 in __strlen_avx2 () from /usr/lib/libc.so.6
 libfuse#1  0x00007fabd0ef9233 in strdup () from /usr/lib/libc.so.6
 libfuse#2  0x00007fabd13b8128 in iconv_help () at ../lib/modules/iconv.c:641
 libfuse#3  0x00007fabd13b81a8 in iconv_opt_proc (data=0x55580a6ee850, arg=0x55580a6edfb0 "-h", key=0, outargs=0x7ffeeb1a8ec8) at ../lib/modules/iconv.c:658
 libfuse#4  0x00007fabd13af7d5 in call_proc (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h", key=0, iso=0) at ../lib/fuse_opt.c:161
 libfuse#5  0x00007fabd13afaf1 in process_opt (ctx=0x7ffeeb1a8ea0, opt=0x7fabd13c3d40 <iconv_opts>, sep=0, arg=0x55580a6edfb0 "-h", iso=0) at ../lib/fuse_opt.c:233
 libfuse#6  0x00007fabd13afd5a in process_gopt (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h", iso=0) at ../lib/fuse_opt.c:285
 libfuse#7  0x00007fabd13b0117 in process_one (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h") at ../lib/fuse_opt.c:368
 libfuse#8  0x00007fabd13b0190 in opt_parse (ctx=0x7ffeeb1a8ea0) at ../lib/fuse_opt.c:379
 libfuse#9  0x00007fabd13b03d3 in fuse_opt_parse (args=0x7ffeeb1a8f70, data=0x55580a6ee850, opts=0x7fabd13c3d40 <iconv_opts>, proc=0x7fabd13b8186 <iconv_opt_proc>)
    at ../lib/fuse_opt.c:414
 libfuse#10 0x00007fabd13b8226 in iconv_new (args=0x7ffeeb1a8f70, next=0x0) at ../lib/modules/iconv.c:680
 libfuse#11 0x00007fabd13a5627 in print_module_help (name=0x7fabd13b9e1c "iconv", fac=0x7fabd13d48e0 <fuse_module_iconv_factory>) at ../lib/fuse.c:4692
 libfuse#12 0x00007fabd13a56aa in fuse_lib_help (args=0x7ffeeb1a9238) at ../lib/fuse.c:4721

iconv_help() is modified to print an error when setlocale() fails.
It then carries on printing the iconv module's help.

Reading setlocale(3), it seems that the strdup() of the result was
not necessary.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@gmail.com>
jgalar added a commit to jgalar/libfuse that referenced this issue Jul 4, 2020
setlocale() can fail, returning NULL, if the user has an invalid (or
missing) locale set in the LANG environment variable.

In my case, this happens when using VS Code's integrated terminal to
launch a fuse-based filesystem. A bug (fix upcoming) results in VS Code
setting an invalid locale.

iconv_help() currently passes the return value of setlocale(...)
directly to strdup() without checking if it is NULL, resulting in a
crash.

To reproduce, simply set LANG="something_invalid" and call
fuse_lib_help().

Stack trace when the process receives `SIGSEGV`:

(gdb) bt
 #0  0x00007fabd0fcc4b5 in __strlen_avx2 () from /usr/lib/libc.so.6
 libfuse#1  0x00007fabd0ef9233 in strdup () from /usr/lib/libc.so.6
 libfuse#2  0x00007fabd13b8128 in iconv_help () at ../lib/modules/iconv.c:641
 libfuse#3  0x00007fabd13b81a8 in iconv_opt_proc (data=0x55580a6ee850, arg=0x55580a6edfb0 "-h", key=0, outargs=0x7ffeeb1a8ec8) at ../lib/modules/iconv.c:658
 libfuse#4  0x00007fabd13af7d5 in call_proc (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h", key=0, iso=0) at ../lib/fuse_opt.c:161
 libfuse#5  0x00007fabd13afaf1 in process_opt (ctx=0x7ffeeb1a8ea0, opt=0x7fabd13c3d40 <iconv_opts>, sep=0, arg=0x55580a6edfb0 "-h", iso=0) at ../lib/fuse_opt.c:233
 libfuse#6  0x00007fabd13afd5a in process_gopt (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h", iso=0) at ../lib/fuse_opt.c:285
 libfuse#7  0x00007fabd13b0117 in process_one (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h") at ../lib/fuse_opt.c:368
 libfuse#8  0x00007fabd13b0190 in opt_parse (ctx=0x7ffeeb1a8ea0) at ../lib/fuse_opt.c:379
 libfuse#9  0x00007fabd13b03d3 in fuse_opt_parse (args=0x7ffeeb1a8f70, data=0x55580a6ee850, opts=0x7fabd13c3d40 <iconv_opts>, proc=0x7fabd13b8186 <iconv_opt_proc>)
    at ../lib/fuse_opt.c:414
 libfuse#10 0x00007fabd13b8226 in iconv_new (args=0x7ffeeb1a8f70, next=0x0) at ../lib/modules/iconv.c:680
 libfuse#11 0x00007fabd13a5627 in print_module_help (name=0x7fabd13b9e1c "iconv", fac=0x7fabd13d48e0 <fuse_module_iconv_factory>) at ../lib/fuse.c:4692
 libfuse#12 0x00007fabd13a56aa in fuse_lib_help (args=0x7ffeeb1a9238) at ../lib/fuse.c:4721

iconv_help() is modified to print an error when setlocale() fails.
It then carries on printing the iconv module's help.

Reading setlocale(3), it seems that the strdup() of the result was
not necessary.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@gmail.com>
Nikratio pushed a commit that referenced this issue Jul 10, 2020
setlocale() can fail, returning NULL, if the user has an invalid (or
missing) locale set in the LANG environment variable.

In my case, this happens when using VS Code's integrated terminal to
launch a fuse-based filesystem. A bug (fix upcoming) results in VS Code
setting an invalid locale.

iconv_help() currently passes the return value of setlocale(...)
directly to strdup() without checking if it is NULL, resulting in a
crash.

To reproduce, simply set LANG="something_invalid" and call
fuse_lib_help().

Stack trace when the process receives `SIGSEGV`:

(gdb) bt
 #0  0x00007fabd0fcc4b5 in __strlen_avx2 () from /usr/lib/libc.so.6
 #1  0x00007fabd0ef9233 in strdup () from /usr/lib/libc.so.6
 #2  0x00007fabd13b8128 in iconv_help () at ../lib/modules/iconv.c:641
 #3  0x00007fabd13b81a8 in iconv_opt_proc (data=0x55580a6ee850, arg=0x55580a6edfb0 "-h", key=0, outargs=0x7ffeeb1a8ec8) at ../lib/modules/iconv.c:658
 #4  0x00007fabd13af7d5 in call_proc (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h", key=0, iso=0) at ../lib/fuse_opt.c:161
 #5  0x00007fabd13afaf1 in process_opt (ctx=0x7ffeeb1a8ea0, opt=0x7fabd13c3d40 <iconv_opts>, sep=0, arg=0x55580a6edfb0 "-h", iso=0) at ../lib/fuse_opt.c:233
 #6  0x00007fabd13afd5a in process_gopt (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h", iso=0) at ../lib/fuse_opt.c:285
 #7  0x00007fabd13b0117 in process_one (ctx=0x7ffeeb1a8ea0, arg=0x55580a6edfb0 "-h") at ../lib/fuse_opt.c:368
 #8  0x00007fabd13b0190 in opt_parse (ctx=0x7ffeeb1a8ea0) at ../lib/fuse_opt.c:379
 #9  0x00007fabd13b03d3 in fuse_opt_parse (args=0x7ffeeb1a8f70, data=0x55580a6ee850, opts=0x7fabd13c3d40 <iconv_opts>, proc=0x7fabd13b8186 <iconv_opt_proc>)
    at ../lib/fuse_opt.c:414
 #10 0x00007fabd13b8226 in iconv_new (args=0x7ffeeb1a8f70, next=0x0) at ../lib/modules/iconv.c:680
 #11 0x00007fabd13a5627 in print_module_help (name=0x7fabd13b9e1c "iconv", fac=0x7fabd13d48e0 <fuse_module_iconv_factory>) at ../lib/fuse.c:4692
 #12 0x00007fabd13a56aa in fuse_lib_help (args=0x7ffeeb1a9238) at ../lib/fuse.c:4721

iconv_help() is modified to print an error when setlocale() fails.
It then carries on printing the iconv module's help.

Reading setlocale(3), it seems that the strdup() of the result was
not necessary.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@gmail.com>
spectral54 pushed a commit to spectral54/libfuse that referenced this issue Sep 14, 2022
This patch adds a simple `ui.diff-editor` config, which defaults to
`meld`. This fixes issue libfuse#10.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants