This is the mail archive of the
libc-hacker@cygnus.com
mailing list for the glibc project.
libio backward compat bug? involving setmntent()
- To: libc-hacker@cygnus.com
- Subject: libio backward compat bug? involving setmntent()
- From: Zack Weinberg <zack@rabi.columbia.edu>
- Date: Tue, 13 Apr 1999 09:33:22 -0400
The appended slightly-out-of-spec code segfaults when compiled on a
libc 2.0 system and run on a libc 2.1 system. The problem is that
setmntent() returns a new FILE*, but fclose is bound to the old
fclose.
Do we want to support this, and if so, how? (Have old fclose
recognize when it's handed a new FILE* and call _IO_new_fclose?)
zw
#include <stdio.h>
#include <mntent.h>
int
main(void)
{
struct mntent *me;
FILE *fp;
fp = setmntent("/etc/mtab", "r");
while((me = getmntent(fp)) != 0)
printf("%s on %s\ttype %s opts %s freq %d pass %d\n",
me->mnt_fsname, me->mnt_dir, me->mnt_type,
me->mnt_opts, me->mnt_freq, me->mnt_passno);
fclose(fp);
return 0;
}