diff -urpN busybox.8/include/libbb.h busybox.9/include/libbb.h
--- busybox.8/include/libbb.h	2006-09-04 20:08:16.000000000 +0200
+++ busybox.9/include/libbb.h	2006-09-04 22:58:47.000000000 +0200
@@ -113,10 +113,10 @@ extern void llist_free(llist_t *elm, voi
 
 
 enum {
+	LOGMODE_NONE = 0,
 	LOGMODE_STDIO = 1<<0,
 	LOGMODE_SYSLOG = 1<<1,
 	LOGMODE_BOTH = LOGMODE_SYSLOG + LOGMODE_STDIO,
-	LOGMODE_PID = 1<<2
 };
 extern int bb_logmode;
 
diff -urpN busybox.8/libbb/verror_msg.c busybox.9/libbb/verror_msg.c
--- busybox.8/libbb/verror_msg.c	2006-09-04 22:41:27.000000000 +0200
+++ busybox.9/libbb/verror_msg.c	2006-09-04 22:56:32.000000000 +0200
@@ -35,10 +35,10 @@ void bb_verror_msg(const char *s, va_lis
 	if (bb_logmode & LOGMODE_SYSLOG) {
 		if (!strerr)
 			vsyslog(LOG_ERR, s, p2);
-		else  { /* bb_perror_xx */
-			/* xasprintf must not call bb_perror
-			 * or it will recurse! */
-			char *msg = xasprintf(s, p2);
+		else  {
+			char *msg;
+			if (vasprintf(&msg, s, p2) < 0)
+				bb_error_msg_and_die(bb_msg_memory_exhausted);
 			syslog(LOG_ERR, "%s: %s", msg, strerr);
 			free(msg);
 		}
diff -urpN busybox.8/libbb/xfuncs.c busybox.9/libbb/xfuncs.c
--- busybox.8/libbb/xfuncs.c	2006-09-04 21:38:54.000000000 +0200
+++ busybox.9/libbb/xfuncs.c	2006-09-04 22:56:32.000000000 +0200
@@ -374,8 +374,7 @@ off_t fdlength(int fd)
 
 #ifdef L_xasprintf
 /* Die with an error message if we can't malloc() enough space and do an
- * sprintf() into that space.
- * Do not use bb_perror_xx here or you will recurse! */
+ * sprintf() into that space. */
 char *xasprintf(const char *format, ...)
 {
 	va_list p;
diff -urpN busybox.8/networking/inetd.c busybox.9/networking/inetd.c
--- busybox.8/networking/inetd.c	2006-09-04 20:08:16.000000000 +0200
+++ busybox.9/networking/inetd.c	2006-09-04 23:02:38.000000000 +0200
@@ -1252,7 +1252,8 @@ inetd_main (int argc, char *argv[])
 	envp++;
   LastArg = envp[-1] + strlen (envp[-1]);
 #endif
-  openlog ("", LOG_NOWAIT, LOG_DAEMON); // TODO: LOG_PID support into bb_verror
+
+  openlog (bb_applet_name, LOG_PID | LOG_NOWAIT, LOG_DAEMON);
 
   opt = bb_getopt_ulflags (argc, argv, "R:f", &stoomany);
   if(opt & 1) {
@@ -1285,7 +1286,7 @@ inetd_main (int argc, char *argv[])
   } else {
 	setsid ();
   }
-  bb_logmode = LOGMODE_SYSLOG; // + LOGMODE_PID
+  bb_logmode = LOGMODE_SYSLOG;
 
   if (uid == 0) {
 	gid_t gid = getgid ();
