<div dir="ltr"><div><div>Hi,<br></div>Thanks for getting back to me so quickly.  I was trying to figure out how to write coverage tests for toybox, and ran into issues using the pointtopoint option for ifconfig.  Before I finished writing the test suite, I thought it best to find out if I was calling ifconfig wrong or if I found a bug.  Attached is the .patch that generated the issue.<br><br></div><div>Thanks,<br></div><div>Cindy<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 11, 2014 at 1:07 PM, Rob Landley <span dir="ltr"><<a href="mailto:rob@landley.net" target="_blank">rob@landley.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 11/11/14 13:05, Cynt Rynt wrote:<br>
> Hi,<br>
> Ran scan-build on toybox and found some errors.  This fix removed an<br>
> error in password.c, but I'm not sure if it's the right fix.<br>
> Thanks,<br>
> Cindy<br>
<br>
</div></div>Thanks, let's take a look...<br>
<br>
I suspect the correct fix is just not to save the return code. It's a<br>
speculative unlink: the file may not be there to be unlinked (most<br>
likely it won't be, it's just a backup), and if it is still there the<br>
link() should fail and we process the error from that.<br>
<br>
Now it's possible that you could have a symlink you can't unlink, and<br>
thus the link might move the file to the wrong location (although it<br>
won't cross filesystems and the result would still have the original<br>
permissions), but if someone can create a specific file in /etc that<br>
_root_ can't remove, the system is already compromised.<br>
<br>
This function has a larger problem that it assumes colon separated<br>
/etc/passwd format and android doesn't use that. (Android decided that<br>
the windows system registry was a good idea, and made a big global<br>
database in a binary format for critical system information to live in,<br>
because reasons.)<br>
<br>
That's why I haven't done a cleanup pass on this function yet: I don't<br>
know what to do about the design issue. I need to set up an AOSP build<br>
environment, and my obvious machine to do that on is stuck on Ubuntu<br>
13.04 because the build servers went down and it won't upgrade anymore,<br>
so I need to back it up and reinstall it...<br>
<br>
Thanks for the heads up, I checked in the quick one line fix. I'll have<br>
to take a proper look at this function after the 0.5.1 release on saturday.<br>
<span class="HOEnZb"><font color="#888888"><br>
Rob<br>
</font></span></blockquote></div><br></div>