vscanf defined incorrectly for non-GNU compilers in stdio.h when strict C99 or POSIX set

Bug #234893 reported by Jared Showalter
14
Affects Status Importance Assigned to Milestone
glibc (Ubuntu)
Fix Released
Undecided
Unassigned
Hardy
Fix Released
Undecided
Unassigned

Bug Description

This is Ubuntu 8.04, libc6-dev 2.7-10ubuntu3.
The file /usr/include/stdio.h has a typo or line 495, as "__isoc99_vsscanf" should be "__isoc99_vscanf". For context:

# if !defined __USE_GNU \
     && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
     && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
[snip]
# else
extern int __isoc99_vfscanf (FILE *__restrict __s,
        __const char *__restrict __format,
        _G_va_list __arg) __wur;
extern int __isoc99_vscanf (__const char *__restrict __format,
       _G_va_list __arg) __wur;
extern int __isoc99_vsscanf (__const char *__restrict __s,
        __const char *__restrict __format,
        _G_va_list __arg) __THROW;
# define vfscanf __isoc99_vfscanf
# define vscanf __isoc99_vsscanf /* bad line */
# define vsscanf __isoc99_vsscanf
# endif
# endif

You can see both vscanf and vsscanf are defined to the same thing, and vscanf is wrong.
This affects non-GNU compilers where the user wants strict C99 or POSIX.

Revision history for this message
Matthias Klose (doko) wrote :

fixed in intrepid

Changed in glibc:
status: New → In Progress
status: New → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into -proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in glibc:
status: In Progress → Fix Committed
Revision history for this message
Jared Showalter (jared-showalter) wrote :

I reinstalled libc6-dev 2.7-10ubuntu3 to verify my original case stopped working as expected (versus my local change). Then I updated to the glibc packages from -proposed and verified that my original case works from a clean build.

Revision history for this message
Martin Pitt (pitti) wrote :

Copied to hardy-updates.

Changed in glibc:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.