1
Running: /home/sarnold/bin/audit-code.sh -c C ./
3
== subprocess_spawned() ==
4
./src/watchdog.c:58:static int sync_system(int sync_it)
5
./src/watchdog.c:98: execl(rbinary, rbinary, parm, NULL);
6
./src/watchdog.c:100: execl(rbinary, rbinary, parm, name, NULL);
7
./src/watchdog.c:104: execl(rbinary, rbinary, "repair", parm, NULL);
8
./src/watchdog.c:106: execl(rbinary, rbinary, "repair", parm, name, NULL);
9
./src/watchdog.c:407: do_check(sync_system(sync_it), rbinary, NULL);
10
./src/mount.c:721: execv(mountprog, mountargs);
11
./src/shutdown.c:310: ph = popen(exe, "w");
12
./src/test_binary.c:103: execl(tbinary, tbinary, NULL);
13
./src/test_binary.c:105: execl(tbinary, tbinary, "test", NULL);
15
== memory_management() ==
16
./src/watchdog.c:79: sprintf(parm, "%d", result);
17
./src/watchdog.c:86: strcpy(filename_buf, logdir);
18
./src/watchdog.c:90: strcpy(filename_buf, logdir);
19
./src/watchdog.c:286: filename_buf = (char *)xcalloc(strlen(logdir) + sizeof("/repair-bin.stdout") + 1, sizeof(char));
20
./src/mount.c:278: *extra_opts = xmalloc(strlen(opts) + 1);
21
./src/mount.c:700: sprintf(mountprog, "/sbin/mount.%s", type);
22
./src/mount.c:942: environ = (char **)xmalloc(sizeof(char *) * (i + 1));
23
./src/mount.c:952: strcpy(argv0[0], PROC_NAME);
24
./src/mount.c:1051: mtmp = (struct mntentchn *)xmalloc(sizeof(*mtmp));
25
./src/mount.c:1057: sprintf(major, "#%x", DISKMAJOR(statbuf.st_rdev));
26
./src/mount.c:1077: cp = (struct child *)xmalloc(sizeof *cp);
27
./src/xmalloc.c:21:void *xmalloc(size_t size)
28
./src/xmalloc.c:28: t = malloc(size);
29
./src/xmalloc.c:35:void *xcalloc(size_t nmemb, size_t size)
30
./src/xmalloc.c:42: t = calloc(nmemb, size);
31
./src/xmalloc.c:70: t = xmalloc(n + 1);
32
./src/shutdown.c:185: if ((rootfs.mnt_opts = malloc(strlen(mnt->mnt_opts) + strlen("remount,ro") + 2)) == NULL) {
33
./src/shutdown.c:188: sprintf(rootfs.mnt_opts, "%s,remount,ro", mnt->mnt_opts);
34
./src/shutdown.c:229: if ((p = (PROC *) calloc(1, sizeof(PROC))) == NULL) {
35
./src/shutdown.c:309: sprintf(exe, "%s -i %s", PATH_SENDMAIL, admin);
36
./src/shutdown.c:400: strcpy(wtmp.ut_user, "shutdown");
37
./src/shutdown.c:401: strcpy(wtmp.ut_line, "~");
38
./src/shutdown.c:402: strcpy(wtmp.ut_id, "~~");
39
./src/sundries.c:21: p = xmalloc(sizeof *p);
40
./src/sundries.c:35: res = xmalloc(strlen(s) + strlen(t) + 1);
41
./src/sundries.c:36: strcpy(res, s);
42
./src/sundries.c:51: res = xmalloc(strlen(s) + strlen(t) + strlen(u) + 1);
43
./src/sundries.c:52: strcpy(res, s);
44
./src/sundries.c:70: res = xmalloc(strlen(s) + strlen(t) + strlen(u) + strlen(v) + 1);
45
./src/sundries.c:71: strcpy(res, s);
46
./src/sundries.c:154: sprintf(notype, "no%s", type);
47
./src/sundries.c:185: canonical = xmalloc(PATH_MAX + 1);
48
./src/heartbeat.c:54: timestamps = (char *)xcalloc(hbstamps, TS_SIZE);
49
./src/heartbeat.c:58: memcpy(timestamps + (TS_SIZE * lastts), rbuf, TS_SIZE);
50
./src/heartbeat.c:66: sprintf(rbuf, "%*s\n", TS_SIZE - 1, "--restart--");
51
./src/heartbeat.c:67: memcpy(timestamps + (lastts * TS_SIZE), rbuf, TS_SIZE);
52
./src/heartbeat.c:97: sprintf(tbufw, "%*s\n", TS_SIZE - 1, tbuf);
53
./src/heartbeat.c:99: memcpy(timestamps + (lastts * TS_SIZE), tbufw, TS_SIZE);
54
./src/fstab.c:15:#include "sundries.h" /* for xmalloc() etc */
55
./src/fstab.c:101: mc->nxt = (struct mntentchn *)xmalloc(sizeof(*mc));
56
./src/lomount.c:101: sprintf(dev, "/dev/loop%d", i);
57
./src/logmessage.c:6: * NOTE: We can't use malloc() here as one reason for a call could be the
58
./src/logmessage.c:115: vsprintf(buf, fmt, args);
59
./src/logmessage.c:139: vsprintf(buf, fmt, args);
60
./src/umount.c:114: memcpy(&saddr.sin_addr, hostp->h_addr, hostp->h_length);
61
./src/configfile.c:110: new = (struct list *)xcalloc(1, sizeof(struct list));
62
./src/mntent.c:29: ss = sp = xmalloc(4 * n + 1);
63
./src/mntent.c:76: ret = sp = xmalloc(ss - s + 1);
64
./src/mntent.c:98: mntFILE *mfp = xmalloc(sizeof(*mfp));
65
./src/nfsmount.c:163: memcpy(&p, &pmap->pml_map, sizeof(p));
66
./src/nfsmount.c:234: strcpy(hostdir, spec);
67
./src/nfsmount.c:263: memcpy(&server_addr.sin_addr, hp->h_addr, hp->h_length);
68
./src/nfsmount.c:267: memcpy(&mount_server_addr, &server_addr, sizeof(mount_server_addr));
69
./src/nfsmount.c:279: sprintf(new_opts, "%s%saddr=%s", old_opts, *old_opts ? "," : "", s);
70
./src/nfsmount.c:504: memcpy(&mount_server_addr.sin_addr, hp->h_addr, hp->h_length);
71
./src/nfsmount.c:638: memcpy(data.root.data, (char *)status.nfsv2.fhstatus_u.fhs_fhandle, NFS_FHSIZE);
72
./src/nfsmount.c:641: memcpy(data.old_root.data, (char *)status.nfsv2.fhstatus_u.fhs_fhandle, NFS_FHSIZE);
73
./src/nfsmount.c:656: memcpy(data.root.data, (char *)fhandle->fhandle3_val, fhandle->fhandle3_len);
74
./src/nfsmount.c:707: memcpy((char *)&data.addr, (char *)&server_addr, sizeof(data.addr));
75
./src/nfsmount.c:791: sprintf(buf, "unknown nfs status return value: %d", stat);
76
./src/test_binary.c:27: struct process *node = (struct process *)xmalloc(sizeof(struct process));
77
./src/test_binary.c:92: strcpy(filename_buf, logdir);
78
./src/test_binary.c:96: strcpy(filename_buf, logdir);
79
./src/net.c:196: net->packet = (unsigned char *)xcalloc((unsigned int)(DATALEN + MAXIPLEN + MAXICMPLEN), sizeof(char));
80
./include/sundries.h:60:#include "xmalloc.h" /* Has xmalloc(), xstrdup() & xstrndup() */
81
./include/xmalloc.h:4:void *xmalloc (size_t size);
82
./include/xmalloc.h:5:void *xcalloc (size_t nmemb, size_t size);
85
./src/wd_identify.c:71: watchdog = open(devname, O_WRONLY);
86
./src/watchdog.c:88: if (!freopen(filename_buf, "a+", stdout))
87
./src/watchdog.c:92: if (!freopen(filename_buf, "a+", stderr))
88
./src/memory.c:44: mem_fd = open(mem_name, O_RDONLY);
89
./src/iface.c:16: FILE *file = fopen("/proc/net/dev", "r");
90
./src/mount.c:388: fd = open(device, O_RDONLY);
91
./src/mount.c:450:static int procopen(void)
92
./src/mount.c:452: return ((procfs = fopen(PROC_FILESYSTEMS, "r")) != NULL);
93
./src/mount.c:474: if (procopen()) {
94
./src/mount.c:566: if (!procopen())
95
./src/mount.c:838: && (fd = open(spec, O_RDONLY)) >= 0) {
96
./src/mount.c:1176: while ((fd = open("/dev/null", O_RDWR)) == 0 || fd == 1 || fd == 2) ;
97
./src/lock_mem.c:74: fp = fopen(buf, "w");
98
./src/lock_mem.c:88: fp = fopen(buf, "w");
99
./src/shutdown.c:310: ph = popen(exe, "w");
100
./src/shutdown.c:394: if ((fd = open(_PATH_WTMP, O_WRONLY | O_APPEND)) >= 0) {
101
./src/shutdown.c:416: if ((fd_seed = open("/dev/urandom", O_RDONLY)) >= 0) {
102
./src/file_table.c:17: fd = open("/proc/uptime", O_RDONLY);
103
./src/heartbeat.c:44: hb = ((hb = fopen(heartbeat, "r+")) == NULL) ? fopen(heartbeat, "w+") : hb;
104
./src/fstab.c:63: int fd = open(MOUNTED, O_RDWR | O_CREAT, 0644);
105
./src/fstab.c:275: lock = open(MOUNTED_LOCK, O_WRONLY | O_CREAT, 0);
106
./src/lomount.c:73: if ((fd = open(device, O_RDONLY)) < 0) {
107
./src/lomount.c:104: fd = open(dev, O_RDONLY);
108
./src/lomount.c:121: if ((procdev = fopen(PROC_DEVICES, "r")) != NULL) {
109
./src/lomount.c:159: if ((ffd = open(file, mode)) < 0) {
110
./src/lomount.c:161: ffd = open(file, mode = O_RDONLY);
111
./src/lomount.c:167: if ((fd = open(device, mode)) < 0) {
112
./src/lomount.c:231: if ((fd = open(device, O_RDONLY)) < 0) {
113
./src/keep_alive.c:44: watchdog_fd = open(name, O_WRONLY);
114
./src/temp.c:92: fp = fopen(name, "r");
115
./src/daemon-pid.c:38: FILE *fp = fopen(fname, "r");
116
./src/daemon-pid.c:80: fp = fopen(fname, "w");
117
./src/configfile.c:149: if ((wc = fopen(configfile, "r")) == NULL) {
118
./src/mntent.c:100: mfp->mntent_fp = fopen(file, mode);
119
./src/load.c:36: load_fd = open(load_name, O_RDONLY);
120
./src/pidfile.c:17: int fd = open(file->name, O_RDONLY), pid;
121
./src/test_binary.c:94: if (!freopen(filename_buf, "a+", stdout))
122
./src/test_binary.c:98: if (!freopen(filename_buf, "a+", stderr))
125
./src/wd_identify.c:73: log_message(LOG_ERR, "cannot open %s (errno = %d = '%s')", devname, errno, strerror(errno));
126
./src/wd_identify.c:79: log_message(LOG_ERR, "cannot get watchdog identity (errno = %d = '%s')", errno, strerror(errno));
127
./src/wd_identify.c:86: log_message(LOG_ERR, "write watchdog device gave error %d = '%s'!", errno, strerror(errno));
128
./src/wd_identify.c:89: log_message(LOG_ALERT, "cannot close watchdog (errno = %d = '%s')", errno, strerror(errno));
129
./src/watchdog.c:116: log_message(LOG_ERR, "process table is full!");
130
./src/watchdog.c:137: log_message(LOG_ERR, "repair child %d timed out", child_pid);
131
./src/watchdog.c:141: log_message(LOG_ERR, "child %d does not exist (errno = %d = '%s')", child_pid, err, strerror(err));
132
./src/watchdog.c:149: log_message(LOG_ERR, "repair binary %s returned %d", rbinary, ret);
133
./src/watchdog.c:263: fatal_error(EX_USAGE, "Error:\n"
134
./src/watchdog.c:269: fatal_error(EX_USAGE, "Error:\n"
135
./src/watchdog.c:276: fatal_error(EX_SYSERR, "Cannot create directory %s (%s)", logdir, strerror(errno));
136
./src/watchdog.c:293: perror(progname);
137
./src/watchdog.c:299: perror(progname);
138
./src/watchdog.c:305: perror(progname);
139
./src/watchdog.c:313: perror(progname);
140
./src/watchdog.c:335: fatal_error(EX_USAGE, "unable to gain lock via PID file");
141
./src/watchdog.c:339: log_message(LOG_INFO, "starting daemon (%d.%d):", MAJOR_VERSION, MINOR_VERSION);
142
./src/watchdog.c:340: log_message(LOG_INFO, "int=%ds realtime=%s sync=%s soft=%s mla=%d mem=%d",
143
./src/watchdog.c:344: log_message(LOG_INFO, "ping: no machine to check");
144
./src/watchdog.c:347: log_message(LOG_INFO, "ping: %s", act->name);
145
./src/watchdog.c:350: log_message(LOG_INFO, "file: no file to check");
146
./src/watchdog.c:353: log_message(LOG_INFO, "file: %s:%d", act->name, act->parameter.file.mtime);
147
./src/watchdog.c:356: log_message(LOG_INFO, "pidfile: no server process to check");
148
./src/watchdog.c:359: log_message(LOG_INFO, "pidfile: %s", act->name);
149
./src/watchdog.c:362: log_message(LOG_INFO, "interface: no interface to check");
150
./src/watchdog.c:365: log_message(LOG_INFO, "interface: %s", act->name);
151
./src/watchdog.c:368: log_message(LOG_INFO, "temperature: no sensors to check");
152
./src/watchdog.c:370: log_message(LOG_INFO, "temperature: maximum = %d", maxtemp);
153
./src/watchdog.c:372: log_message(LOG_INFO, "temperature: %s", act->name);
154
./src/watchdog.c:375: log_message(LOG_INFO, "test=%s(%ld) repair=%s(%ld) alive=%s heartbeat=%s to=%s no_act=%s force=%s",
155
./src/watchdog.c:461: log_message(LOG_INFO, "still alive after %ld interval(s)", count);
156
./src/memory.c:47: log_message(LOG_ERR, "cannot open %s (errno = %d = '%s')", mem_name, err, strerror(err));
157
./src/memory.c:72: log_message(LOG_ERR, "lseek %s gave errno = %d = '%s'", mem_name, err, strerror(err));
158
./src/memory.c:83: log_message(LOG_ERR, "read %s gave errno = %d = '%s'", mem_name, err, strerror(err));
159
./src/memory.c:95: log_message(LOG_ERR, "%s contains invalid data (read = %s)", mem_name, buf);
160
./src/memory.c:107: log_message(LOG_INFO, "currently there are %d kB of free memory available", free);
161
./src/memory.c:110: log_message(LOG_ERR, "memory %d kB is less than %d pages", free, minpages);
162
./src/memory.c:126: log_message(LOG_ALERT, "cannot close %s (errno = %d)", mem_name, errno);
163
./src/memory.c:149: log_message(LOG_ALERT, "cannot allocate %lu bytes (errno = %d = '%s')",
164
./src/memory.c:150: (unsigned long)len, i, strerror(i));
165
./src/iface.c:20: log_message(LOG_ERR, "cannot open /proc/net/dev (errno = %d = '%s')", err, strerror(err));
166
./src/iface.c:33: if (!ferror(file))
167
./src/iface.c:37: log_message(LOG_ERR, "cannot read /proc/net/dev (errno = %d = '%s')", err, strerror(err));
168
./src/iface.c:54: log_message(LOG_INFO, "device %s received %lu bytes", dev->name, bytes);
169
./src/iface.c:58: log_message(LOG_ERR, "device %s did not receive anything since last check", dev->name);
170
./src/iface.c:69: log_message(LOG_ERR, "cannot close /proc/net/dev (errno = %d = '%s')", err, strerror(err));
171
./src/mount.c:436: perror(device);
172
./src/mount.c:488: error("mount: according to mtab, %s is already mounted on %s", mc->mnt_fsname, node);
173
./src/mount.c:490: error("mount: according to mtab, %s is mounted on %s", spec, mc->mnt_dir);
174
./src/mount.c:509: die(EX_FILEIO, "mount: can't open %s for writing: %s", MOUNTED, strerror(errno));
175
./src/mount.c:521: die(EX_FILEIO, "mount: error writing %s: %s", MOUNTED, strerror(errno));
176
./src/mount.c:525: die(EX_FILEIO, "mount: error changing mode of %s: %s", MOUNTED, strerror(errno));
177
./src/mount.c:641: error("mount: loop device specified twice");
178
./src/mount.c:646: error("mount: type specified twice");
179
./src/mount.c:728: error("cannot fork: %s", strerror(errno));
180
./src/mount.c:762: error("mount: can't open %s: %s", MOUNTED, strerror(errno));
181
./src/mount.c:765: error("mount: error writing %s: %s", MOUNTED, strerror(errno));
182
./src/mount.c:786: error("mount: you must specify the filesystem type");
183
./src/mount.c:792: error("mount: mount point %s is not a directory", node);
184
./src/mount.c:794: error("mount: permission denied");
185
./src/mount.c:796: error("mount: must be superuser to use mount");
186
./src/mount.c:800: error("mount: %s is busy", node);
187
./src/mount.c:804: error("mount: %s is busy", node); /* no */
188
./src/mount.c:806: error("mount: proc already mounted");
189
./src/mount.c:808: error("mount: %s already mounted or %s busy", spec, node);
190
./src/mount.c:814: error("mount: mount point %s does not exist", node);
191
./src/mount.c:816: error("mount: mount point %s is a symbolic link to nowhere", node);
192
./src/mount.c:818: error("mount: special device %s does not exist", spec);
193
./src/mount.c:821: perror("mount");
194
./src/mount.c:825: error("mount: mount point %s is not a directory", node);
195
./src/mount.c:832: error("mount: %s not mounted already, or bad option", node);
196
./src/mount.c:834: error("mount: wrong fs type, bad option, bad superblock on %s,\n"
197
./src/mount.c:849: error("mount table full");
198
./src/mount.c:852: error("mount: %s: can't read superblock", spec);
199
./src/mount.c:856: error("mount: %s has wrong major or minor number", spec);
200
./src/mount.c:861: error("mount: fs type %s not supported by kernel", type);
201
./src/mount.c:873: error("mount: probably you meant %s", lowtype);
202
./src/mount.c:875: error("mount: maybe you meant iso9660 ?");
203
./src/mount.c:878: error("mount: %s has wrong device number or fs type %s not supported", spec, type);
204
./src/mount.c:882: error("mount: %s is not a block device, and stat fails?", spec);
205
./src/mount.c:884: error("mount: the kernel does not recognize %s as a block device\n"
206
./src/mount.c:887: error("mount: %s is not a block device (maybe try `-o loop'?)", spec);
207
./src/mount.c:889: error("mount: %s is not a block device", spec);
208
./src/mount.c:892: error("mount: %s is not a valid block device", spec);
209
./src/mount.c:897: error("mount: block device %s is not permitted on its filesystem", spec);
210
./src/mount.c:912: error("mount: %s%s is write-protected, mounting read-only",
211
./src/mount.c:918: error("mount: %s", strerror(mnt_err));
212
./src/mount.c:1095: error("mount: cannot fork: %s", strerror(errno));
213
./src/mount.c:1121: perror("waitpid");
214
./src/mount.c:1263: error("not mounted anything");
215
./src/lock_mem.c:54: log_message(LOG_ERR, "cannot lock realtime memory (errno = %d = '%s')", errno, strerror(errno));
216
./src/lock_mem.c:61: log_message(LOG_ERR, "cannot set scheduler (errno = %d = '%s')", errno, strerror(errno));
217
./src/lock_mem.c:99: log_message(LOG_WARNING, "unable to disable oom handling!");
218
./src/lock_mem.c:115: log_message(LOG_ERR, "cannot unlock realtime memory (errno = %d = '%s')", errno, strerror(errno));
219
./src/file_stat.c:19: log_message(LOG_ERR, "cannot stat %s (errno = %d = '%s')", file->name, err, strerror(err));
220
./src/file_stat.c:31: log_message(LOG_INFO, "file %s was last changed at %s", file->name, text);
221
./src/file_stat.c:36: log_message(LOG_ERR, "file %s was not changed in %d seconds.", file->name, file->parameter.file.mtime);
222
./src/xmalloc.c:30: fatal_error(EX_SYSERR, "xmalloc failed for %lu bytes", (unsigned long)size);
223
./src/xmalloc.c:44: fatal_error(EX_SYSERR, "xcalloc failed for %lu x %lu bytes", (unsigned long)nmemb, (unsigned long)size);
224
./src/xmalloc.c:58: fatal_error(EX_SYSERR, "xstrdup failed for %lu byte string", (unsigned long)strlen(s));
225
./src/xmalloc.c:68: fatal_error(EX_SOFTWARE, "bad xstrndup call (%sn = %d)", s == NULL ? "" : "s = NULL, ", n);
226
./src/shutdown.c:88: log_message(LOG_INFO, "stopping daemon (%d.%d)", MAJOR_VERSION, MINOR_VERSION);
227
./src/shutdown.c:131: log_message(LOG_ALERT, "WATCHDOG PANIC: failed to reboot, trying hard-reset");
228
./src/shutdown.c:135: log_message(LOG_ALERT, "WATCHDOG PANIC: still alive after sleeping %d seconds", 4 * dev_timeout);
229
./src/shutdown.c:152: perror(mnt->mnt_fsname);
230
./src/shutdown.c:161: perror(mnt->mnt_fsname);
231
./src/shutdown.c:166: perror(mnt->mnt_fsname);
232
./src/shutdown.c:182: log_message(LOG_ERR, "out of memory");
233
./src/shutdown.c:186: log_message(LOG_ERR, "out of memory");
234
./src/shutdown.c:210: log_message(LOG_ERR, "cannot opendir /proc");
235
./src/shutdown.c:230: log_message(LOG_ERR, "out of memory");
236
./src/shutdown.c:307: log_message(LOG_ERR, "%s does not exist or is not executable (errno = %d)", PATH_SENDMAIL, errno);
237
./src/shutdown.c:312: log_message(LOG_ERR, "cannot start %s (errno = %d)", PATH_SENDMAIL, errno);
238
./src/shutdown.c:321: if (ferror(ph) != 0) {
239
./src/shutdown.c:322: log_message(LOG_ERR, "cannot send mail (errno = %d)", errno);
240
./src/shutdown.c:329: if (ferror(ph) != 0) {
241
./src/shutdown.c:330: log_message(LOG_ERR, "cannot send mail (errno = %d)", errno);
242
./src/shutdown.c:338: if (ferror(ph) != 0) {
243
./src/shutdown.c:339: log_message(LOG_ERR, "cannot send mail (errno = %d)", errno);
244
./src/shutdown.c:344: log_message(LOG_ERR, "cannot finish mail (errno = %d)", errno);
245
./src/shutdown.c:352: log_message(LOG_ALERT, "shutting down the system because of error %d", errorcode);
246
./src/shutdown.c:407: log_message(LOG_ERR, "failed writing wtmp (%s)", strerror(errno));
247
./src/shutdown.c:424: log_message(LOG_ERR, "failed writing urandom (%s)", strerror(errno));
248
./src/shutdown.c:434: log_message(LOG_ERR, "failed stopping acct() (%s)", strerror(errno));
249
./src/file_table.c:23: log_message(LOG_ERR, "file table overflow detected!");
250
./src/file_table.c:27: log_message(LOG_ERR, "cannot open /proc/uptime (errno = %d = '%s')", err, strerror(err));
251
./src/file_table.c:35: log_message(LOG_ERR, "close /proc/uptime gave errno = %d = '%s'", err, strerror(err));
252
./src/sundries.c:92:void error(const char *fmt, ...)
253
./src/heartbeat.c:46: log_message(LOG_ERR, "cannot open %s (errno = %d = '%s')", heartbeat, errno, strerror(errno));
254
./src/heartbeat.c:110: log_message(LOG_ERR, "write heartbeat file gave error %d = '%s'!", err, strerror(err));
255
./src/heartbeat.c:115: log_message(LOG_ERR, "write heartbeat file gave error %d = '%s'!", err, strerror(err));
256
./src/heartbeat.c:121: log_message(LOG_ERR, "write heartbeat file gave error %d = '%s'!", err, strerror(err));
257
./src/heartbeat.c:135: log_message(LOG_ALERT, "cannot close %s (errno = %d)", heartbeat, errno);
258
./src/fstab.c:111: if (ferror(mfp->mntent_fp)) {
259
./src/fstab.c:112: error("warning: error reading %s: %s", fnam, strerror(errno));
260
./src/fstab.c:142: error("warning: can't open %s: %s", MOUNTED, strerror(errsv));
261
./src/fstab.c:163: error("warning: can't open %s: %s", _PATH_FSTAB, strerror(errno));
262
./src/fstab.c:278: "(use -n flag to override)", MOUNTED_LOCK, strerror(errno));
263
./src/fstab.c:293: MOUNTED_LOCK, errnosv == EINTR ? "timed out" : strerror(errno));
264
./src/fstab.c:335: error("cannot open %s (%s) - mtab not updated", MOUNTED, strerror(errno));
265
./src/fstab.c:341: error("can't open %s (%s) - mtab not updated", MOUNTED_TEMP, strerror(errno));
266
./src/fstab.c:363: die(EX_FILEIO, "error writing %s: %s", MOUNTED_TEMP, strerror(errno));
267
./src/fstab.c:366: die(EX_FILEIO, "error writing %s: %s", MOUNTED_TEMP, strerror(errno));
268
./src/fstab.c:370: fprintf(stderr, "error changing mode of %s: %s\n", MOUNTED_TEMP, strerror(errno));
269
./src/fstab.c:374: fprintf(stderr, "can't rename %s to %s: %s\n", MOUNTED_TEMP, MOUNTED, strerror(errno));
270
./src/lomount.c:31:void error(const char *fmt, ...); /* idem */
271
./src/lomount.c:74: fprintf(stderr, "loop: can't open device %s: %s\n", device, strerror(errno));
272
./src/lomount.c:78: fprintf(stderr, "loop: can't get info on device %s: %s\n", device, strerror(errno));
273
./src/lomount.c:134: error("mount: could not find any device /dev/loop#");
274
./src/lomount.c:137: error("mount: Could not find any loop device.\n"
275
./src/lomount.c:140: error("mount: Could not find any loop device, and, according to %s,\n"
276
./src/lomount.c:144: error("mount: Could not find any loop device. Maybe this kernel does not know\n"
277
./src/lomount.c:148: error("mount: could not find any free loop device");
278
./src/lomount.c:163: perror(file);
279
./src/lomount.c:168: perror(device);
280
./src/lomount.c:212: perror("ioctl: LOOP_SET_FD");
281
./src/lomount.c:217: perror("ioctl: LOOP_SET_STATUS");
282
./src/lomount.c:232: fprintf(stderr, "loop: can't delete device %s: %s\n", device, strerror(errno));
283
./src/lomount.c:236: perror("ioctl: LOOP_CLR_FD");
284
./src/keep_alive.c:46: log_message(LOG_ERR, "cannot open %s (errno = %d = '%s')", name, errno, strerror(errno));
285
./src/keep_alive.c:55: log_message(LOG_ERR, "cannot get watchdog identity (errno = %d = '%s')", errno, strerror(errno));
286
./src/keep_alive.c:58: log_message(LOG_INFO, "hardware watchdog identity: %s", ident.identity);
287
./src/keep_alive.c:81: log_message(LOG_ERR, "cannot set timeout %d (errno = %d = '%s')", timeout, errno, strerror(errno));
288
./src/keep_alive.c:83: log_message(LOG_INFO, "watchdog now set to %d seconds", timeout);
289
./src/keep_alive.c:90: log_message(LOG_ERR, "cannot get timeout (errno = %d = '%s')", errno, strerror(errno));
290
./src/keep_alive.c:92: log_message(LOG_INFO, "watchdog was set to %d seconds", timeout);
291
./src/keep_alive.c:109: log_message(LOG_ERR, "write watchdog device gave error %d = '%s'!", err, strerror(err));
292
./src/keep_alive.c:145: log_message(LOG_ERR, "write watchdog device gave error %d = '%s'!", err, strerror(err));
293
./src/keep_alive.c:151: log_message(LOG_ALERT, "cannot close watchdog (errno = %d = '%s')", err, strerror(err));
294
./src/temp.c:95: log_message(LOG_ERR, "failed to open %s (%s)", name, strerror(err));
295
./src/temp.c:105: log_message(LOG_ERR, "failed to read %s (%s)", name, strerror(err));
296
./src/temp.c:113: log_message(LOG_INFO, "current temperature is %.3f for %s", temp, name);
297
./src/temp.c:144: log_message(LOG_WARNING, "temperature increases above %d (%s)", templevel3, act->name);
298
./src/temp.c:149: log_message(LOG_WARNING, "temperature increases above %d (%s)", templevel2, act->name);
299
./src/temp.c:155: log_message(LOG_WARNING, "temperature increases above %d (%s)", templevel1, act->name);
300
./src/temp.c:162: log_message(LOG_INFO, "temperature now OK again for %s", act->name);
301
./src/temp.c:168: log_message(LOG_ERR, "it is too hot inside (temperature = %d >= %d for %s)", temperature, maxtemp, act->name);
302
./src/daemon-pid.c:51: log_message(LOG_WARNING, "PID file %s already used by PID=%d", fname, pid);
303
./src/daemon-pid.c:65: * Return value is zero if OK, or -1 for error (null name, PID file in use, or can't write).
304
./src/daemon-pid.c:87: log_message(LOG_ERR, "cannot open PID file %s (%s)", fname, strerror(errno));
305
./src/daemon-pid.c:105: log_message(LOG_ERR, "cannot remove PID file %s (%s)", saved_fname, strerror(errno));
306
./src/logmessage.c:4: * Also has fatal_error() function to the same then exit.
307
./src/logmessage.c:23:static int output_message(int level, char *buf);
308
./src/logmessage.c:36: * or to syslog (assuming it is compiled as such, otherwise terminal as well).
309
./src/logmessage.c:64: * log_message() and fatal_error() calls. When using syslog we can output
310
./src/logmessage.c:68:static int output_message(int level, char *buf)
311
./src/logmessage.c:75: syslog(level, "%s", buf);
312
./src/logmessage.c:88: syslog(level, "failed writing message terminal (rv=%d, errno='%s')", rv, strerror(errno));
313
./src/logmessage.c:100: * the string '%s' and give it strerror(errno) as an argument.
314
./src/logmessage.c:103:int log_message(int level, const char *fmt, ...)
315
./src/logmessage.c:119: rv = output_message(level, buf);
316
./src/logmessage.c:128:void fatal_error(int exitcode, const char *fmt, ...)
317
./src/logmessage.c:143: output_message(LOG_ERR, buf);
318
./src/umount.c:122: clnt_pcreateerror("Cannot MOUNTPROG RPC");
319
./src/umount.c:132: clnt_perror(clp, "Bad UMNT RPC");
320
./src/umount.c:147: error("umount: %s: invalid block device", dev);
321
./src/umount.c:150: error("umount: %s: not mounted", dev);
322
./src/umount.c:153: error("umount: %s: can't write superblock", dev);
323
./src/umount.c:158: error("umount: %s: device is busy", dev);
324
./src/umount.c:161: error("umount: %s: not found", dev);
325
./src/umount.c:164: error("umount: %s: must be superuser to umount", dev);
326
./src/umount.c:167: error("umount: %s: block devices not permitted on fs", dev);
327
./src/umount.c:170: error("umount: %s: %s", dev, strerror(err));
328
./src/umount.c:232: perror("remount");
329
./src/configfile.c:150: fatal_error(EX_SYSERR, "Can't open config file \"%s\" (%s)", configfile, strerror(errno));
330
./src/configfile.c:156: if (!ferror(wc))
331
./src/configfile.c:159: fatal_error(EX_SYSERR, "Error reading config file (%s)", strerror(errno));
332
./src/configfile.c:308: fatal_error(EX_SYSERR, "Error closing file (%s)", strerror(errno));
333
./src/configfile.c:314: fatal_error(EX_SYSERR, "Parameters %s = %d in file \"%s\" must be > 0", INTERVAL, tint, configfile);
334
./src/configfile.c:357: log_message(LOG_WARNING, "skipping hidden file %s", fname);
335
./src/configfile.c:366: log_message(LOG_DEBUG, "adding %s to list of auto-repair binaries", fname);
336
./src/wd_keepalive.c:55: log_message(LOG_INFO, "stopping watchdog keepalive daemon (%d.%d)", MAJOR_VERSION, MINOR_VERSION);
337
./src/wd_keepalive.c:141: perror(progname);
338
./src/wd_keepalive.c:147: perror(progname);
339
./src/wd_keepalive.c:153: perror(progname);
340
./src/wd_keepalive.c:161: perror(progname);
341
./src/wd_keepalive.c:182: fatal_error(EX_USAGE, "unable to gain lock via PID file");
342
./src/wd_keepalive.c:187: log_message(LOG_INFO, "starting watchdog keepalive daemon (%d.%d):", MAJOR_VERSION, MINOR_VERSION);
343
./src/wd_keepalive.c:189: log_message(LOG_INFO, " no watchdog device configured, aborting");
344
./src/wd_keepalive.c:191: log_message(LOG_INFO, " int=%d alive=%s realtime=%s", tint, devname, realtime ? "yes" : "no");
345
./src/load.c:38: log_message(LOG_ERR, "cannot open %s (errno = %d = '%s')", load_name, errno, strerror(errno));
346
./src/load.c:61: log_message(LOG_ERR, "lseek %s gave errno = %d = '%s'", load_name, err, strerror(err));
347
./src/load.c:72: log_message(LOG_ERR, "read %s gave errno = %d = '%s'", load_name, err, strerror(err));
348
./src/load.c:92: log_message(LOG_ERR, "%s does not contain any data (read = %s)", load_name, buf);
349
./src/load.c:101: log_message(LOG_INFO, "current load is %d %d %d", avg1, avg5, avg15);
350
./src/load.c:105: log_message(LOG_ERR, "loadavg %d %d %d is higher than the given threshold %d %d %d!",
351
./src/load.c:122: log_message(LOG_ALERT, "cannot close %s (errno = %d)", load_name, errno);
352
./src/pidfile.c:22: log_message(LOG_ERR, "cannot open %s (errno = %d = '%s')", file->name, err, strerror(err));
353
./src/pidfile.c:35: log_message(LOG_ERR, "lseek %s gave errno = %d = '%s'", file->name, err, strerror(err));
354
./src/pidfile.c:50: log_message(LOG_ERR, "read %s gave errno = %d = '%s'", file->name, err, strerror(err));
355
./src/pidfile.c:64: log_message(LOG_ERR, "could not close %s, errno = %d = '%s'", file->name, err, strerror(err));
356
./src/pidfile.c:74: log_message(LOG_ERR, "pinging process %d (%s) gave errno = %d = '%s'", pid, file->name, err, strerror(err));
357
./src/pidfile.c:84: log_message(LOG_INFO, "was able to ping process %d (%s).", pid, file->name);
358
./src/nfsmount.c:73:static char *nfs_strerror(int stat);
359
./src/nfsmount.c:600: clnt_perror(mclient, "mount");
360
./src/nfsmount.c:605: clnt_perror(mclient, "mount");
361
./src/nfsmount.c:612: clnt_pcreateerror("mount");
362
./src/nfsmount.c:635: hostname, dirname, nfs_strerror(status.nfsv2.fhs_status));
363
./src/nfsmount.c:649: hostname, dirname, nfs_strerror(status.nfsv3.fhs_status));
364
./src/nfsmount.c:673: perror("nfs socket");
365
./src/nfsmount.c:677: perror("nfs bindresvport");
366
./src/nfsmount.c:700: perror("nfs connect");
367
./src/nfsmount.c:782:static char *nfs_strerror(int stat)
368
./src/nfsmount.c:789: return strerror(nfs_errtbl[i].errnum);
369
./src/test_binary.c:83: log_message(LOG_ERR, "test-binary %s exceeded time limit %ld", tbinary, timeout);
370
./src/test_binary.c:115: log_message(LOG_ERR, "process table is full!");
371
./src/test_binary.c:146: log_message(LOG_ERR, "test binary %s returned %d", tbinary, WEXITSTATUS(result));
372
./src/test_binary.c:150: log_message(LOG_ERR, "test binary %s was killed by uncaught signal %d", tbinary, WTERMSIG(result));
373
./src/test_binary.c:158: log_message(LOG_ERR, "child %d did not exit immediately (error = %d = '%s')", child_pid, err, strerror(err));
374
./src/ifdown.c:39: perror("socket");
375
./src/ifdown.c:47: perror("SIOCGIFCONF");
376
./src/ifdown.c:61: perror(ifr[i].ifr_name);
377
./src/net.c:89: log_message(LOG_ERR, "network is unreachable (target: %s)", target);
378
./src/net.c:94: log_message(LOG_ERR, "sendto gave errno = %d = '%s'", err, strerror(err));
379
./src/net.c:128: log_message(LOG_ERR, "ping select timeout = %2ld.%06ld seconds",
380
./src/net.c:143: log_message(LOG_ERR, "recvfrom gave errno = %d = '%s'", err, strerror(err));
381
./src/net.c:159: log_message(LOG_INFO, "got answer from target %s", target);
382
./src/net.c:169: log_message(LOG_ERR, "no response from ping (target: %s)", target);
383
./src/net.c:194: fatal_error(EX_USAGE, "unknown host %s", act->name);
384
./src/net.c:198: fatal_error(EX_SYSERR, "unknown protocol icmp.");
385
./src/net.c:202: fatal_error(EX_SYSERR, "error opening socket (%s)", strerror(errno));
386
./include/sundries.h:37:void error(const char *fmt, ...);
387
./include/logmessage.h:12: * We need the LOG_? values used for log_message() so either include <syslog.h>
388
./include/logmessage.h:30: * Define exit status for fatal_error() calls (from sundries.h originally).
389
./include/logmessage.h:65:int log_message(int level, const char *fmt, ...) PRINTF_STYLE(2, 3);
390
./include/logmessage.h:66:void fatal_error(int exitcode, const char *fmt, ...) PRINTF_STYLE(2, 3);
395
./src/mount.c:706: setuid(getuid());
396
./src/mount.c:707: setgid(getgid());
397
./src/wd_identify.c:78: if (ioctl(watchdog, WDIOC_GETSUPPORT, &ident) < 0) {
398
./src/mount.c:523: if (fchmod(fileno(mfp->mntent_fp), S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) < 0)
399
./src/mount.c:839: if (ioctl(fd, BLKGETSIZE, &size) == 0 && size <= 2)
400
./src/fstab.c:369: if (fchmod(fileno(mftmp->mntent_fp), S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) < 0)
401
./src/lomount.c:77: if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) < 0) {
402
./src/lomount.c:106: if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) == 0)
403
./src/lomount.c:211: if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
404
./src/lomount.c:215: if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
405
./src/lomount.c:216: (void)ioctl(fd, LOOP_CLR_FD, 0);
406
./src/lomount.c:235: if (ioctl(fd, LOOP_CLR_FD, 0) < 0) {
407
./src/keep_alive.c:22:#include <stropts.h> /* for ioctl() */
408
./src/keep_alive.c:54: if (ioctl(watchdog_fd, WDIOC_GETSUPPORT, &ident) < 0) {
409
./src/keep_alive.c:80: if (ioctl(watchdog_fd, WDIOC_SETTIMEOUT, &timeout) < 0) {
410
./src/keep_alive.c:89: if (ioctl(watchdog_fd, WDIOC_GETTIMEOUT, &timeout) < 0) {
411
./src/ifdown.c:45: if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) {
412
./src/ifdown.c:59: if (ioctl(fd, SIOCSIFFLAGS, &ifr[i]) < 0) {
415
./src/umount.c:117: saddr.sin_family = AF_INET;
416
./src/nfsmount.c:250: server_addr.sin_family = AF_INET;
417
./src/nfsmount.c:492: mount_server_addr.sin_family = AF_INET;
418
./src/nfsmount.c:503: mount_server_addr.sin_family = AF_INET;
419
./src/nfsmount.c:669: fsock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
420
./src/nfsmount.c:671: fsock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
421
./src/nfsmount.c:807: sin.sin_family = AF_INET;
422
./src/ifdown.c:37: if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
423
./src/net.c:191: ((struct sockaddr_in *)&(net->to))->sin_family = AF_INET;
424
./src/net.c:200: if ((net->sock_fp = socket(AF_INET, SOCK_RAW, proto->p_proto)) < 0
425
./src/wd_identify.c:85: if (write(watchdog, "V", 1) < 0)
426
./src/memory.c:81: if (read(mem_fd, buf, sizeof(buf)) < 0) {
427
./src/mount.c:96:/* True for explicit read/write (-w). */
428
./src/mount.c:392: if (lseek(fd, 1024, SEEK_SET) != 1024 || read(fd, (char *)&sb, sizeof(sb)) != sizeof(sb))
429
./src/mount.c:406: if (lseek(fd, 0, SEEK_SET) != 0 || read(fd, (char *)&xsb, sizeof(xsb)) != sizeof(xsb))
430
./src/mount.c:416: if (lseek(fd, 8192, SEEK_SET) != 8192 || read(fd, (char *)&ufssb, sizeof(ufssb)) != sizeof(ufssb))
431
./src/mount.c:424: if (lseek(fd, 0x8000, SEEK_SET) != 0x8000 || read(fd, (char *)&isosb, sizeof(isosb)) != sizeof(isosb))
432
./src/shutdown.c:406: if (write(fd, (char *)&wtmp, sizeof(wtmp)) < 0)
433
./src/shutdown.c:422: if (read(fd_seed, buf, 512) == 512) {
434
./src/shutdown.c:423: if (write(fd_bck, buf, 512) < 0)
435
./src/heartbeat.c:108: if (fwrite(timestamps + (lastts * TS_SIZE), TS_SIZE, hbstamps - lastts, hb) == 0) {
436
./src/heartbeat.c:113: if (fwrite(timestamps, TS_SIZE, lastts, hb) == 0) {
437
./src/heartbeat.c:119: if (fwrite(timestamps, TS_SIZE, nrts, hb) == 0) {
438
./src/keep_alive.c:107: if (write(watchdog_fd, "\0", 1) < 0) {
439
./src/keep_alive.c:143: if (write(watchdog_fd, "V", 1) < 0) {
440
./src/load.c:70: if (read(load_fd, buf, sizeof(buf)) < 0) {
441
./src/pidfile.c:48: if (read(fd, buf, sizeof(buf)) < 0) {
442
./src/nfsmount.c:21: * Omit the call to connect() for Linux version 1.3.11 or later.
443
./src/nfsmount.c:669: fsock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
444
./src/nfsmount.c:671: fsock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
445
./src/nfsmount.c:695: * connect() the socket for kernels 1.3.10 and below only,
446
./src/nfsmount.c:699: if (linux_version_code() <= 66314 && connect(fsock, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
447
./src/ifdown.c:37: if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
448
./src/net.c:82: j = sendto(sock_fp, (char *)outpack, DATALEN + 8, 0, &to, sizeof(struct sockaddr));
449
./src/net.c:200: if ((net->sock_fp = socket(AF_INET, SOCK_RAW, proto->p_proto)) < 0
450
./src/net.c:202: fatal_error(EX_SYSERR, "error opening socket (%s)", strerror(errno));
453
./include/logmessage.h:52: * http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Function-Attributes.html
460
./src/lomount.c:91: /* Just creating a device, say in /tmp, is probably a bad idea -
462
== priv_cmds (sudo, gksu, pkexec) ==
468
== comments (XXX, FIXME, TODO) ==
470
== unsafe input mechanisms ==