I think this patch fixes the warning but the underlying test has the bugs - should not we be using strlen() instead of sizeof() which simply returns 8 (size of the pointer) instead of intended length of the string. Do we actually need strncat - shouldn't strcat be enough? I guess you are also assuming that total length of first_block and second_block is not longer than 10?
On Wednesday, October 31, 2018 at 11:21:42 PM UTC-4, Geraldo Netto wrote: > > this patch fix the following strncat() calls by passing proper sizeof(): > /home/netto/Desktop/osv/osv-tomcat9/tests/tst-crypt.c: In function > ‘concat_str’: > /home/netto/Desktop/osv/osv-tomcat9/tests/tst-crypt.c:9:34: warning: > argument to ‘sizeof’ in ‘strncat’ call is the same expression as the > source; did you mean to provide an explicit length? > [-Wsizeof-pointer-memaccess] > strncat(tmp, first_block, sizeof(first_block)); > ^ > /home/netto/Desktop/osv/osv-tomcat9/tests/tst-crypt.c:10:35: warning: > argument to ‘sizeof’ in ‘strncat’ call is the same expression as the > source; did you mean to provide an explicit length? > [-Wsizeof-pointer-memaccess] > strncat(tmp, second_block, sizeof(second_block)); > ^ > > Signed-off-by: geraldo netto <[email protected] <javascript:>> > --- > tests/tst-crypt.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/tests/tst-crypt.c b/tests/tst-crypt.c > index 7ccc8235..dc9a6341 100644 > --- a/tests/tst-crypt.c > +++ b/tests/tst-crypt.c > @@ -8,11 +8,12 @@ > char* concat_str(char* first_block, char* second_block) { > static char tmp[10]; > memset(tmp, 0, sizeof(tmp)); > - strncat(tmp, first_block, sizeof(first_block)); > - strncat(tmp, second_block, sizeof(second_block)); > + strncat(tmp, first_block, sizeof(char*)); > + strncat(tmp, second_block, sizeof(char*)); > return tmp; > } > > +// to test as a standalone app: gcc tests/tst-crypt.c -lcrypt -o crypt > int main(void) { > // http://man7.org/linux/man-pages/man3/crypt.3.html > char password[] = "Ab(d3"; > -- > 2.17.1 > > -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
