This is the mail archive of the libc-hacker@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libio backward compat bug? involving setmntent()



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;
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]