Hi Adrian, These are good points, thanks for the feedback. debugserver is unique in the code base in that it only builds on darwin targets. Originally it was intended to be a generic standalone gdb-remote protocol stub implementation, but it was only ever implemented for macos and for that matter, we have several Objective-C++ source files in the MacOSX subdir -- I don't think it'll build anywhere but on a mac already.
We have some strncpy's in the main lldb source, I remember going to change some of those to strlcpy's years ago & found that it was not as portable as I'd assumed. Agreed, using std::string's would be better for most of these. This was a quick fix to get off of the strncpy's. Long term I know we're hoping to add our darwin-specific changes to lldb-server and move to that. But that may not happen for a while. J > On Dec 11, 2017, at 8:26 AM, Adrian McCarthy <amcca...@google.com> wrote: > > I have some concerns about this change. > > 1. strlcpy is not a C++ standard function, so it's not available for > non-POSIX targets. As far as I can tell, this is the first use of strlcpy in > LLVM. > > 2. In some of the changed calls, the buffer size argument still has a -1, > which is redundant with what strlcpy is going to do, so this could cause > strings to be truncated a char too soon. > > 3. At some of the call sites, there remains now-redundant code to guarantee > termination.. Since that's the point of changing these calls, we should > probably eliminate that. > > 4. I'm not familiar with this part of the code base. Is it necessary for > the APIs to work with pointer+length rather than a std::string (or other > class) that would give us safety and portability? > > On Sun, Dec 10, 2017 at 3:52 PM, Davide Italiano via lldb-commits > <lldb-commits@lists.llvm.org> wrote: > On Fri, Dec 8, 2017 at 7:37 PM, Jason Molenda via lldb-commits > <lldb-commits@lists.llvm.org> wrote: > > Author: jmolenda > > Date: Fri Dec 8 19:37:09 2017 > > New Revision: 320242 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=320242&view=rev > > Log: > > Change uses of strncpy in debugserver to strlcpy > > for better safety. > > > > <rdar://problem/32906923> > > > > Thanks! > _______________________________________________ > lldb-commits mailing list > lldb-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits > _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits