Note that the assert will probably be removed in production builds so if sysconf(_SC_ARG_MAX) would return -1 (in case the symbolic constant doesn't exist) the max_length would probably end up having a maximum possible size_t value.
It is probably not good to assume that the particular sysconf never fails on any machine, so maybe this should be changed to an if?
sysconf should not return -1. _SC_ARG_MAX is obviously a known constant. This could only happen if somebody tries to run this with a different libc than the common ones. In that case, I hope they compile at least once with asserts enabled and run the tests ;)
Yeah, I totally get it. Still it would be a good practice to move this kind of "expected invariants" e.g. to be fetched just once during program startup and checked against their expected values.
max_length = l;
}
if (max_length == 1) {
/* If there's only room for one byte, return the empty string */
ProTip!
Use n and p to navigate between commits in a pull request.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.
We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products.
Learn more.
We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products.
You can always update your selection by clicking Cookie Preferences at the bottom of the page.
For more information, see our Privacy Statement.
Essential cookies
We use essential cookies to perform essential website functions, e.g. they're used to log you in.
Learn more
Always active
Analytics cookies
We use analytics cookies to understand how you use our websites so we can make them better, e.g. they're used to gather information about the pages you visit and how many clicks you need to accomplish a task.
Learn more
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
Journal/journal-remote/coredump fixes #11374
Journal/journal-remote/coredump fixes #11374
Changes from all commits
4f62556bc2762a084eeb82d5d2e0f0136e0052c57f964ef926670c9dd101fb27fdb237ef4d6abFile filter...
Jump to…
disconnect3dJan 10, 2019
•
edited
Note that the
assertwill probably be removed in production builds so ifsysconf(_SC_ARG_MAX)would return-1(in case the symbolic constant doesn't exist) themax_lengthwould probably end up having a maximum possiblesize_tvalue.It is probably not good to assume that the particular
sysconfnever fails on any machine, so maybe this should be changed to an if?keszybzJan 10, 2019
Author
Member
sysconfshould not return -1._SC_ARG_MAXis obviously a known constant. This could only happen if somebody tries to run this with a different libc than the common ones. In that case, I hope they compile at least once with asserts enabled and run the tests ;)disconnect3dJan 10, 2019
•
edited
Yeah, I totally get it. Still it would be a good practice to move this kind of "expected invariants" e.g. to be fetched just once during program startup and checked against their expected values.