chiark
/
gitweb
/
~ian
/
userv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
@@ -9,6 +9,7 @@
[userv.git]
/
servexec.c
diff --git
a/servexec.c
b/servexec.c
index 82b89e5470716f8e76438c46aff4fbcd4aa61b40..a71b64f1e78bac9663f3c4f26c54ab357709b657 100644
(file)
--- a/
servexec.c
+++ b/
servexec.c
@@
-191,7
+191,7
@@
static const char *see_c_group(void) {
static const char *seei_gid(int i) {
static char buf[CHAR_BIT*sizeof(gid_t)/3+4];
static const char *seei_gid(int i) {
static char buf[CHAR_BIT*sizeof(gid_t)/3+4];
- snyprintf(buf,sizeof(buf),"%
d",
calling_gids[i]);
+ snyprintf(buf,sizeof(buf),"%
ld",(long)
calling_gids[i]);
return buf;
}
static const char *see_c_gid(void) {
return buf;
}
static const char *see_c_gid(void) {
@@
-266,7
+266,8
@@
void execservice(const int synchsocket[], int clientfd) {
fdarray[fd].holdfd= -1;
}
for (fd=0; fd<fdarrayused; fd++) {
fdarray[fd].holdfd= -1;
}
for (fd=0; fd<fdarrayused; fd++) {
- if (fdarray[fd].realfd < fdarrayused) fdarray[fdarray[fd].realfd].holdfd= fd;
+ if (fdarray[fd].realfd < fdarrayused && fdarray[fd].realfd >= 0)
+ fdarray[fdarray[fd].realfd].holdfd= fd;
}
for (fd=0; fd<fdarrayused; fd++) {
realfd= fdarray[fd].realfd;
}
for (fd=0; fd<fdarrayused; fd++) {
realfd= fdarray[fd].realfd;