Skip to content

Commit

Permalink
* sysdeps/unix/sysv/linux/rtld-lowlevel.h
Browse files Browse the repository at this point in the history
	(__rtld_mrlock_initialize): Add missing closing parenthesis.
  • Loading branch information
Ulrich Drepper committed Dec 9, 2006
1 parent 6060802 commit 66f1770
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 14 deletions.
2 changes: 1 addition & 1 deletion misc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ endif
gpl2lgpl := error.c error.h

tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
tst-error1 tst-pselect tst-insremque
tst-error1 tst-pselect tst-insremque tst-mntent2
ifeq (no,$(cross-compiling))
tests: $(objpfx)tst-error1-mem
endif
Expand Down
12 changes: 7 additions & 5 deletions misc/getusershell.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ initshells()
register char **sp, *cp;
register FILE *fp;
struct stat64 statb;
int flen;
size_t flen;

free(shells);
shells = NULL;
Expand All @@ -114,21 +114,23 @@ initshells()
okshells[1] = _PATH_CSHELL;
return (char **) okshells;
}
if ((strings = malloc((u_int)statb.st_size + 1)) == NULL)
if (statb.st_size > ~(size_t)0 / sizeof (char *) * 3)
goto init_okshells;
shells = calloc((unsigned)statb.st_size / 3, sizeof (char *));
if ((strings = malloc(statb.st_size + 2)) == NULL)
goto init_okshells;
shells = malloc(statb.st_size / 3 * sizeof (char *));
if (shells == NULL) {
free(strings);
strings = NULL;
goto init_okshells;
}
sp = shells;
cp = strings;
flen = statb.st_size;
flen = statb.st_size + 2;
while (fgets_unlocked(cp, flen - (cp - strings), fp) != NULL) {
while (*cp != '#' && *cp != '/' && *cp != '\0')
cp++;
if (*cp == '#' || *cp == '\0')
if (*cp == '#' || *cp == '\0' || cp[1] == '\0')
continue;
*sp++ = cp;
while (!isspace(*cp) && *cp != '#' && *cp != '\0')
Expand Down
12 changes: 5 additions & 7 deletions misc/mntent_r.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* Utilities for reading/writing fstab, mtab, etc.
Copyright (C) 1995-2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 1995-2000, 2001, 2002, 2003, 2006
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
Expand Down Expand Up @@ -278,14 +279,11 @@ __hasmntopt (const struct mntent *mnt, const char *opt)

while ((p = strstr (rest, opt)) != NULL)
{
if (p == rest
|| (p[-1] == ','
&& (p[optlen] == '\0' ||
p[optlen] == '=' ||
p[optlen] == ',')))
if ((p == rest || p[-1] == ',')
&& (p[optlen] == '\0' || p[optlen] == '=' || p[optlen] == ','))
return p;

rest = strchr (rest, ',');
rest = strchr (p, ',');
if (rest == NULL)
break;
++rest;
Expand Down
41 changes: 41 additions & 0 deletions misc/tst-mntent2.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#include <mntent.h>
#include <stdio.h>
#include <string.h>


int
main (void)
{
int result = 0;
struct mntent mef;

mef.mnt_fsname = strdupa ("/dev/sdf6");
mef.mnt_dir = strdupa ("/some dir");
mef.mnt_type = strdupa ("ext3");
mef.mnt_opts = strdupa ("opt1,opt2,noopt=6,rw,norw,brw");
mef.mnt_freq = 1;
mef.mnt_passno = 2;

#define TEST(opt, found) \
if (!!hasmntopt (&mef, (opt)) != (found)) \
{ \
printf ("Option %s was %sfound\n", (opt), (found) ? "not " : ""); \
result = 1; \
}

TEST ("opt1", 1)
TEST ("opt2", 1)
TEST ("noopt", 1)
TEST ("rw", 1)
TEST ("norw", 1)
TEST ("brw", 1)
TEST ("opt", 0)
TEST ("oopt", 0)
TEST ("w", 0)
TEST ("r", 0)
TEST ("br", 0)
TEST ("nor", 0)
TEST ("or", 0)

return result;
}
5 changes: 5 additions & 0 deletions nptl/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2006-12-09 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/rtld-lowlevel.h
(__rtld_mrlock_initialize): Add missing closing parenthesis.

2006-10-30 Jakub Jelinek <jakub@redhat.com>

* sysdeps/ia64/pthread_spin_unlock.c (pthread_spin_unlock): Use
Expand Down
2 changes: 1 addition & 1 deletion nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ typedef int __rtld_mrlock_t;

#define _RTLD_MRLOCK_INITIALIZER 0
#define __rtld_mrlock_initialize(NAME) \
(void) ((NAME) = 0
(void) ((NAME) = 0)


#define __rtld_mrlock_lock(lock) \
Expand Down

0 comments on commit 66f1770

Please sign in to comment.