Debian Bug report logs -
#57919
Does not build from source on powerpc - va_arg abuse
Reported by: Daniel Jacobowitz <dan@debian.org>
Date: Sun, 13 Feb 2000 04:18:00 UTC
Severity: important
Found in version 0.2l-6
Done: Brian May <bam@debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded to debian-bugs-dist@lists.debian.org, Brian May <bam@debian.org>
:
Bug#57919
; Package heimdal
.
(full text, mbox, link).
Acknowledgement sent to Daniel Jacobowitz <dan@debian.org>
:
New Bug report received and forwarded. Copy sent to Brian May <bam@debian.org>
.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: heimdal
Version: 0.2l-6
Severity: important
Here's a patch for the problem.
-- System Information
Debian Release: potato
Architecture: powerpc
Kernel: Linux drow.res.cmu.edu 2.3.41 #25 Fri Jan 28 01:06:07 EST 2000 ppc
diff -ur heimdal-0.2l/lib/roken/snprintf.c ../heimdal-0.2l/lib/roken/snprintf.c
--- heimdal-0.2l/lib/roken/snprintf.c Thu Dec 2 11:58:52 1999
+++ ../heimdal-0.2l/lib/roken/snprintf.c Sat Feb 12 20:39:21 2000
@@ -265,7 +265,7 @@
if (long_flag) \
res = (unsig long)va_arg(arg, unsig long); \
else if (short_flag) \
- res = (unsig short)va_arg(arg, unsig short); \
+ res = (unsig short)va_arg(arg, int); \
else \
res = (unsig int)va_arg(arg, unsig int)
Reply sent to Brian May <bam@debian.org>
:
You have taken responsibility.
(full text, mbox, link).
Notification sent to Daniel Jacobowitz <dan@debian.org>
:
Bug acknowledged by developer.
(full text, mbox, link).
Message #10 received at 57919-close@bugs.debian.org (full text, mbox, reply):
We believe that the bug you reported is fixed in the latest version of
heimdal, which has been installed in the Debian FTP archive:
heimdal-dev_0.2l-7_i386.deb
to dists/potato/non-US/main/binary-i386/heimdal-dev_0.2l-7.deb
replacing heimdal-dev_0.2l-6.deb
heimdal-dev_0.2l-7_i386.deb
to dists/woody/non-US/main/binary-i386/heimdal-dev_0.2l-7.deb
replacing heimdal-dev_0.2l-6.deb
heimdal-servers-x_0.2l-7_i386.deb
to dists/potato/non-US/main/binary-i386/heimdal-servers-x_0.2l-7.deb
replacing heimdal-servers-x_0.2l-6.deb
heimdal-servers-x_0.2l-7_i386.deb
to dists/woody/non-US/main/binary-i386/heimdal-servers-x_0.2l-7.deb
replacing heimdal-servers-x_0.2l-6.deb
heimdal-kdc_0.2l-7_i386.deb
to dists/potato/non-US/main/binary-i386/heimdal-kdc_0.2l-7.deb
replacing heimdal-kdc_0.2l-6.deb
heimdal-kdc_0.2l-7_i386.deb
to dists/woody/non-US/main/binary-i386/heimdal-kdc_0.2l-7.deb
replacing heimdal-kdc_0.2l-6.deb
heimdal-clients_0.2l-7_i386.deb
to dists/potato/non-US/main/binary-i386/heimdal-clients_0.2l-7.deb
replacing heimdal-clients_0.2l-6.deb
heimdal-clients_0.2l-7_i386.deb
to dists/woody/non-US/main/binary-i386/heimdal-clients_0.2l-7.deb
replacing heimdal-clients_0.2l-6.deb
heimdal-lib_0.2l-7_i386.deb
to dists/potato/non-US/main/binary-i386/heimdal-lib_0.2l-7.deb
replacing heimdal-lib_0.2l-6.deb
heimdal-lib_0.2l-7_i386.deb
to dists/woody/non-US/main/binary-i386/heimdal-lib_0.2l-7.deb
replacing heimdal-lib_0.2l-6.deb
heimdal_0.2l-7.diff.gz
to dists/potato/non-US/main/source/heimdal_0.2l-7.diff.gz
replacing heimdal_0.2l-6.diff.gz
heimdal_0.2l-7.diff.gz
to dists/woody/non-US/main/source/heimdal_0.2l-7.diff.gz
replacing heimdal_0.2l-6.diff.gz
heimdal-clients-x_0.2l-7_i386.deb
to dists/potato/non-US/main/binary-i386/heimdal-clients-x_0.2l-7.deb
replacing heimdal-clients-x_0.2l-6.deb
heimdal-clients-x_0.2l-7_i386.deb
to dists/woody/non-US/main/binary-i386/heimdal-clients-x_0.2l-7.deb
replacing heimdal-clients-x_0.2l-6.deb
heimdal-docs_0.2l-7_all.deb
to dists/potato/non-US/main/binary-all/heimdal-docs_0.2l-7.deb
replacing heimdal-docs_0.2l-6.deb
heimdal-docs_0.2l-7_all.deb
to dists/woody/non-US/main/binary-all/heimdal-docs_0.2l-7.deb
replacing heimdal-docs_0.2l-6.deb
heimdal_0.2l-7.dsc
to dists/potato/non-US/main/source/heimdal_0.2l-7.dsc
replacing heimdal_0.2l-6.dsc
heimdal_0.2l-7.dsc
to dists/woody/non-US/main/source/heimdal_0.2l-7.dsc
replacing heimdal_0.2l-6.dsc
heimdal-servers_0.2l-7_i386.deb
to dists/potato/non-US/main/binary-i386/heimdal-servers_0.2l-7.deb
replacing heimdal-servers_0.2l-6.deb
heimdal-servers_0.2l-7_i386.deb
to dists/woody/non-US/main/binary-i386/heimdal-servers_0.2l-7.deb
replacing heimdal-servers_0.2l-6.deb
Note that this package is not part of the released stable Debian
distribution. It may have dependencies on other unreleased software,
or other instabilities. Please take care if you wish to install it.
The update will eventually make its way into the next released Debian
distribution.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 57919@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Brian May <bam@debian.org> (supplier of updated heimdal package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Format: 1.6
Date: Sun, 13 Feb 2000 19:46:37 +1100
Source: heimdal
Binary: heimdal-lib heimdal-dev heimdal-servers-x heimdal-clients-x heimdal-docs heimdal-servers heimdal-kdc heimdal-clients
Architecture: source i386 all
Version: 0.2l-7
Distribution: frozen unstable
Urgency: low
Maintainer: Brian May <bam@debian.org>
Description:
heimdal-clients - Clients for Heimdal Kerberos
heimdal-clients-x - X11 files for Heimdal Kerberos
heimdal-dev - Development files for Heimdal Kerberos
heimdal-docs - Documentation for Heimdal Kerberos
heimdal-kdc - KDC for Heimdal Kerberos
heimdal-lib - Libraries for Heimdal Kerberos
heimdal-servers - Servers for Heimdal Kerberos
heimdal-servers-x - X11 files for Heimdal Kerberos
Closes: 57545 57587 57602 57654 57919
Changes:
heimdal (0.2l-7) frozen unstable; urgency=low
.
* Copied copyright file from doc/heimdal.texi
* heimdal-servers no longer conflicts with rsh-server (closes: #57545).
* heimdal-lib conflicts with kerberos4kth (closes: #57587, #57602, #57654).
* this conflicts business is never ending...
* fixed minor bugs in README.Debian, eg there is no need to
extract the kadmin/admin key to /etc/krb5.keytab.
* fixed compilation problem on power-pc (closes: #57919).
Files:
f482407c3ca577ba6d2077463d60216f 771 non-US/main optional heimdal_0.2l-7.dsc
d21665cf5b27d0de13ab8f1d4205e7e9 13880 non-US/main optional heimdal_0.2l-7.diff.gz
ed6bcb50dffd01acf05288f0be829501 221760 non-US/main optional heimdal-clients_0.2l-7_i386.deb
09416ba7dcaa841dde32549e93be3137 74710 non-US/main optional heimdal-clients-x_0.2l-7_i386.deb
26d82ee6df6f2021161993d57c603615 86550 non-US/main optional heimdal-kdc_0.2l-7_i386.deb
85b5cc248b7b3ab51912808726867697 61524 non-US/main optional heimdal-servers-x_0.2l-7_i386.deb
3e84b0b9929a8658d76380c6eccde3a8 170824 non-US/main optional heimdal-servers_0.2l-7_i386.deb
ac4cd272ddf7f14fbcb162f0caa39db4 61354 non-US/main optional heimdal-docs_0.2l-7_all.deb
647e74cf1e0b4c5213dda8a2002ff918 378820 non-US/main optional heimdal-dev_0.2l-7_i386.deb
15e34524f74255422f1813ea659d187e 293442 non-US/main optional heimdal-lib_0.2l-7_i386.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iQCVAwUBOKaO43WqsJ5Z7zO9AQHrswP+KOUYoQDCH7hSY6sgTbuv/dE6L7GL7meZ
nwgucn1tvdn+JEaQA+lPsr4WCUwHfjm+s+Bvh2q+VCTFXj+tj33v93j5WzS7C7i3
fytpNF/3eH8EmVsueWd+SjCYZSd0OM6SYtc67XIf6F4fP16Wv/x8bcGnt3fUIljr
LEecoG988Y0=
=gTh8
-----END PGP SIGNATURE-----
Information forwarded to debian-bugs-dist@lists.debian.org
:
Bug#57919
; Package heimdal
.
(full text, mbox, link).
Acknowledgement sent to Brian May <bam@debian.org>
:
Extra info received and forwarded to list.
(full text, mbox, link).
Message #15 received at 57919@bugs.debian.org (full text, mbox, reply):
>>>>> "Daniel" == Daniel Jacobowitz <dan@debian.org> writes:
Daniel> Package: heimdal
Daniel> Version: 0.2l-6
Daniel> Severity: important
Daniel> Here's a patch for the problem.
Daniel> -- System Information
Daniel> Debian Release: potato
Daniel> Architecture: powerpc
Daniel> Kernel: Linux drow.res.cmu.edu 2.3.41 #25 Fri Jan 28 01:06:07 EST 2000 ppc
Daniel> diff -ur heimdal-0.2l/lib/roken/snprintf.c ../heimdal-0.2l/lib/roken/snprintf.c
Daniel> --- heimdal-0.2l/lib/roken/snprintf.c Thu Dec 2 11:58:52 1999
Daniel> +++ ../heimdal-0.2l/lib/roken/snprintf.c Sat Feb 12 20:39:21 2000
Daniel> @@ -265,7 +265,7 @@
Daniel> if (long_flag) \
Daniel> res = (unsig long)va_arg(arg, unsig long); \
Daniel> else if (short_flag) \
Daniel> - res = (unsig short)va_arg(arg, unsig short); \
Daniel> + res = (unsig short)va_arg(arg, int); \
Daniel> else \
Daniel> res = (unsig int)va_arg(arg, unsig int)
Normally I should ask questions and then make the change ;-)
However, I don't understand - what was wrong with the above code? Why
were the other instances of va_arg correct? Doesn't using int here
decrease portability in other ways?
--
Brian May <bam@debian.org>
Information forwarded to debian-bugs-dist@lists.debian.org, Brian May <bam@debian.org>
:
Bug#57919
; Package heimdal
.
(full text, mbox, link).
Acknowledgement sent to Daniel Jacobowitz <dan@debian.org>
:
Extra info received and forwarded to list. Copy sent to Brian May <bam@debian.org>
.
(full text, mbox, link).
Message #20 received at 57919@bugs.debian.org (full text, mbox, reply):
On Wed, Feb 16, 2000 at 01:23:02PM +1100, Brian May wrote:
> >>>>> "Daniel" == Daniel Jacobowitz <dan@debian.org> writes:
>
> Daniel> Package: heimdal
> Daniel> Version: 0.2l-6
> Daniel> Severity: important
>
> Daniel> Here's a patch for the problem.
>
> Daniel> -- System Information
> Daniel> Debian Release: potato
> Daniel> Architecture: powerpc
> Daniel> Kernel: Linux drow.res.cmu.edu 2.3.41 #25 Fri Jan 28 01:06:07 EST 2000 ppc
>
> Daniel> diff -ur heimdal-0.2l/lib/roken/snprintf.c ../heimdal-0.2l/lib/roken/snprintf.c
> Daniel> --- heimdal-0.2l/lib/roken/snprintf.c Thu Dec 2 11:58:52 1999
> Daniel> +++ ../heimdal-0.2l/lib/roken/snprintf.c Sat Feb 12 20:39:21 2000
> Daniel> @@ -265,7 +265,7 @@
> Daniel> if (long_flag) \
> Daniel> res = (unsig long)va_arg(arg, unsig long); \
> Daniel> else if (short_flag) \
> Daniel> - res = (unsig short)va_arg(arg, unsig short); \
> Daniel> + res = (unsig short)va_arg(arg, int); \
> Daniel> else \
> Daniel> res = (unsig int)va_arg(arg, unsig int)
>
> Normally I should ask questions and then make the change ;-)
>
> However, I don't understand - what was wrong with the above code? Why
> were the other instances of va_arg correct? Doesn't using int here
> decrease portability in other ways?
It doesn't decrease portability, because int is guaranteed to be at
least as large as an unsigned short. The problem is that va_arg,
according to the standard, is only defined for fully-promoted types -
double, int, pointers, and aggregates, and presumably long / long long.
Pulling two bytes off the stack when the caller pushed four can have a
nasty effect :)
Dan
/--------------------------------\ /--------------------------------\
| Daniel Jacobowitz |__| SCS Class of 2002 |
| Debian GNU/Linux Developer __ Carnegie Mellon University |
| dan@debian.org | | dmj+@andrew.cmu.edu |
\--------------------------------/ \--------------------------------/
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Thu Apr 25 08:34:16 2024;
Machine Name:
bembo
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.