[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#8890) Bug fix patches unbreaking the build on x32 systems



Thorsten Glaser wrote:
> I know my way *very* well around the time_t issue because
> I=E2=80=99ve been having them on MirBSD/i386 years before x32 even
> existed, and am experienced in how to fix them.

>From here it only looks like you're experienced in how to break things.

This patch of yours *introduces a bug*. If you wanted to actually *fix*
something you should have made sure the malloc'd buffer - which only happ=
ens
2 lines above the lines you change - was large enough to store a long lon=
g.

That's just plain sloppy. It's as careless as submitting a patch to
fix a no-op, and just wasting my time.

+--- a/contrib/slapd-modules/smbk5pwd/smbk5pwd.c
++++ b/contrib/slapd-modules/smbk5pwd/smbk5pwd.c
+@@ -605,7 +605,7 @@ static int smbk5pwd_exop_passwd(
+       keys[0].bv_val =3D ch_malloc( LDAP_PVT_INTTYPE_CHARS(long) );
+       keys[0].bv_len =3D snprintf(keys[0].bv_val,
+           LDAP_PVT_INTTYPE_CHARS(long),
+-          "%ld", slap_get_time());
++          "%lld", (long long)slap_get_time());
+       BER_BVZERO( &keys[1] );
+
+       ml->sml_desc =3D ad_sambaPwdLastSet;
+@@ -627,7 +627,7 @@ static int smbk5pwd_exop_passwd(
+           keys[0].bv_val =3D ch_malloc( LDAP_PVT_INTTYPE_CHARS(long) );
+           keys[0].bv_len =3D snprintf(keys[0].bv_val,
+                   LDAP_PVT_INTTYPE_CHARS(long),
+-                  "%ld", slap_get_time() + pi->smb_must_change);
++                  "%lld", (long long)slap_get_time() + (long long)pi->s=
mb_must_change);
+           BER_BVZERO( &keys[1] );
+
+           ml->sml_desc =3D ad_sambaPwdMustChange;
+@@ -650,7 +650,7 @@ static int smbk5pwd_exop_passwd(
+           keys[0].bv_val =3D ch_malloc( LDAP_PVT_INTTYPE_CHARS(long) );
+           keys[0].bv_len =3D snprintf(keys[0].bv_val,
+                   LDAP_PVT_INTTYPE_CHARS(long),
+-                  "%ld", slap_get_time() + pi->smb_can_change);
++                  "%lld", (long long)slap_get_time() + (long long)pi->s=
mb_can_change);
+           BER_BVZERO( &keys[1] );
+
+           ml->sml_desc =3D ad_sambaPwdCanChange;




--=20
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/