Index: kernel/generic/src/syscall/syscall.c
===================================================================
--- kernel/generic/src/syscall/syscall.c	(revision 7ba289acbe98d97ccfefd3124fa914845c001281)
+++ kernel/generic/src/syscall/syscall.c	(revision eb1c0a37580b25a6046c2480a2cef05c730f5a10)
@@ -64,23 +64,23 @@
 	int rc;
 
-	if (count == 0)
-		return 0;
-
 	if (count > PAGE_SIZE)
 		return ELIMIT;
-
-	data = (char *) malloc(count, 0);
-	if (!data)
-		return ENOMEM;
 	
-	rc = copy_from_uspace(data, buf, count);
-	if (rc) {
+	if (count > 0) {
+		data = (char *) malloc(count, 0);
+		if (!data)
+			return ENOMEM;
+		
+		rc = copy_from_uspace(data, buf, count);
+		if (rc) {
+			free(data);
+			return rc;
+		}
+	
+		for (i = 0; i < count; i++)
+			putchar(data[i]);
 		free(data);
-		return rc;
-	}
-
-	for (i = 0; i < count; i++)
-		putchar(data[i]);
-	free(data);
+	} else
+		klog_update();
 	
 	return count;
