Open dilyanpalauzov opened 1 month ago
char * remote_host = strdup(remote);
if (remote_host) {
char * semicol = strchr(remote_host, ';');
- if (semicol) * semicol = NULL; /* truncate remote_host at the ';' port separator */
+ if (semicol) *semicol = '\0'; /* truncate remote_host at the ';' port separator */
pam_set_item(pamh, PAM_RHOST, remote_host);
free (remote_host);
}
And a couple more gcc-14 related compilation errors:
make[3]: Entering directory '/home/unfrobbed-dev/pkgs/cyrus-sasl/cyrus-sasl-2.1.28/debian/obj-amd64/lib'
depbase=`echo saslutil.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../lib -I.. -DLIBSASL_EXPORTS=1 -I../../../include -I../../../plugins -I../include -I../../../sasldb -I../../../common -DCONFIGDIR='"/usr/lib64/sasl2:/etc/sasl2"' -DPLUGINDIR='"/usr/lib64/sasl2"' -DOBSOLETE_CRAM_ATTR=1 -DOBSOLETE_DIGEST_ATTR=1 -Wall -W -g -O2 -MT saslutil.lo -MD -MP -MF $depbase.Tpo -c -o saslutil.lo ../../../lib/saslutil.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../../lib -I.. -DLIBSASL_EXPORTS=1 -I../../../include -I../../../plugins -I../include -I../../../sasldb -I../../../common -DCONFIGDIR=\"/usr/lib64/sasl2:/etc/sasl2\" -DPLUGINDIR=\"/usr/lib64/sasl2\" -DOBSOLETE_CRAM_ATTR=1 -DOBSOLETE_DIGEST_ATTR=1 -Wall -W -g -O2 -MT saslutil.lo -MD -MP -MF .deps/saslutil.Tpo -c ../../../lib/saslutil.c -fPIC -DPIC -o .libs/saslutil.o
../../../lib/saslutil.c: In function 'sasl_mkchal':
../../../lib/saslutil.c:280:3: error: implicit declaration of function 'time' [-Wimplicit-function-declaration]
280 | time(&now);
| ^~~~
../../../lib/saslutil.c:66:1: note: 'time' is defined in header '<time.h>'; this is probably fixable by adding '#include <time.h>'
65 | #include "saslint.h"
+++ |+#include <time.h>
66 | #include <saslutil.h>
../../../lib/saslutil.c: In function 'getranddata':
../../../lib/saslutil.c:364:41: error: implicit declaration of function 'clock' [-Wimplicit-function-declaration]
364 | ret[1] ^= (unsigned short) (clock() & 0xFFFF);
| ^~~~~
../../../lib/saslutil.c:364:41: note: 'clock' is defined in header '<time.h>'; this is probably fixable by adding '#include <time.h>'
../../../lib/saslutil.c: In function 'get_fqhostname':
../../../lib/saslutil.c:563:42: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
563 | || strlen (result->ai_canonname) > namelen -1) {
| ^
make[3]: *** [Makefile:643: saslutil.lo] Error 1
make[3]: Target 'all-am' not remade because of errors.
make[3]: Leaving directory '/home/unfrobbed-dev/pkgs/cyrus-sasl/cyrus-sasl-2.1.28/debian/obj-amd64/lib'
make[2]: *** [Makefile:507: all] Error 2
make[2]: Leaving directory '/home/unfrobbed-dev/pkgs/cyrus-sasl/cyrus-sasl-2.1.28/debian/obj-amd64/lib'
Making all in plugins
make[2]: Entering directory '/home/unfrobbed-dev/pkgs/cyrus-sasl/cyrus-sasl-2.1.28/debian/obj-amd64/plugins'
depbase=`echo cram.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../../plugins -I.. -DLIBSASL_EXPORTS=1 -I../../../include -I../../../lib -I../../../sasldb -I../../../common -I../include -DOBSOLETE_CRAM_ATTR=1 -DOBSOLETE_DIGEST_ATTR=1 -Wall -W -g -O2 -MT cram.lo -MD -MP -MF $depbase.Tpo -c -o cram.lo ../../../plugins/cram.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../../plugins -I.. -DLIBSASL_EXPORTS=1 -I../../../include -I../../../lib -I../../../sasldb -I../../../common -I../include -DOBSOLETE_CRAM_ATTR=1 -DOBSOLETE_DIGEST_ATTR=1 -Wall -W -g -O2 -MT cram.lo -MD -MP -MF .deps/cram.Tpo -c ../../../plugins/cram.c -fPIC -DPIC -o .libs/cram.o
../../../plugins/cram.c: In function 'gettime':
../../../plugins/cram.c:132:7: error: implicit declaration of function 'time' [-Wimplicit-function-declaration]
132 | t=time(NULL);
| ^~~~
../../../plugins/cram.c:61:1: note: 'time' is defined in header '<time.h>'; this is probably fixable by adding '#include <time.h>'
60 | #include "plugin_common.h"
+++ |+#include <time.h>
61 |
make[2]: *** [Makefile:762: cram.lo] Error 1
make[2]: Target 'all' not remade because of errors.
make[2]: Leaving directory '/home/unfrobbed-dev/pkgs/cyrus-sasl/cyrus-sasl-2.1.28/debian/obj-amd64/plugins'
Implicit function declarations are legal C syntax and not errors. It is wrong for the compiler to treat them as such.
With gcc 14 compilation fails: