Anonymous | Login | 02-28-2021 15:52 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
0007550 | [Squeak] VM | minor | always | 07-08-10 10:36 | 07-09-10 09:44 | |||||||
Reporter | henriksp | View Status | public | |||||||||
Assigned To | lewis | |||||||||||
Priority | normal | Resolution | open | |||||||||
Status | acknowledged | Product Version | 4.1 | |||||||||
Summary | 0007550: Relative symbolic links do not resolve correctly in Unix 4.0.3.2202 | |||||||||||
Description |
There's a bug in the alias resolution sqGetFilenameFromString in sqUnixMain.c. In the line filenameLength = readLink(aCharBuffer, aCharBuffer, MAXPATHLEN) it replaces the old link path with the resolved link path, however links may be relative, eg. /bin/sh linking to bash rather than /bin/bash. Thus, file opening, and other operations using this function will fail if encountering a relative link. F.ex. print (on Ubuntu, where sh -> dash): |openedRelative| openedRelative := nil. [FileStream readOnlyFileNamed: '/bin/sh' do: [:fs | openedRelative := true]] on: FileDoesNotExistException do: [openedRelative := false]. openedRelative and you get false. |
|||||||||||
Additional Information |
Created issue as the patched file posted on VM-Dev may have gone unnoticed. New method merged from Cog sources, where Eliot had fixed it already. |
|||||||||||
Attached Files |
![]() |
|||||||||||
|
![]() |
|
(0013825 - 95 - 101 - 295 - 295 - 295 - 295) henriksp 07-08-10 10:37 |
Discussion on VM-dev: http://forum.world.st/Unix-VM-alias-resolving-bug-tp2267360p2267360.html [^] |
(0013826 - 53 - 53 - 53 - 53 - 53 - 53) lewis 07-09-10 09:44 |
Forwarded file to Ian for inclusion in platforms/unix |
Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
41 total queries executed. 31 unique queries executed. |