Control: tags -1 + pending On Sun, 2016-07-31 at 11:55 +0200, Julien Cristau wrote: > Control: tag -1 = jessie confirmed > > On Sat, Jul 30, 2016 at 16:55:28 +0200, Joel Rosdahl wrote: > > > On 29 July 2016 at 14:18, Julien Cristau <jcris...@debian.org> wrote: > > > It doesn't look like you're doing any error checking from lstat; is there > > > no > > > way it'll fail here? > > > > Hm, right, not checking the error code is a mistake I made when backporting > > the > > fix. However, I don't think it will cause any problem in practice. > > > > The code looks like this about 30 lines above: > > > > if (stat(argv[i], &st) != 0 || !S_ISREG(st.st_mode)) { > > // ... > > continue; > > } > > > > So if argv[i] doesn't exist or is not a file (or a symlink to an existing > > file), we won't reach the lstat call. However, lstat will fail if the file > > or > > symlink happens to be removed between the stat and lstat calls. It looks > > like > > lstat doesn't touch the stat buffer on failure, so st's content will remain > > from the stat call and S_ISLNK(st.st_mode) will then be false. The false > > branch > > will call make_relative_path which handles non-existing files correctly. > > > > Do you think that this is serious enough to require an updated > > package? If so, I'll do it. > > > Thanks for looking into it. Given the above, feel free to upload with > your original patch.
Uploaded and flagged for acceptance. Regards, Adam