From 6023deb2cdfbf05664e9f1f38fd8f883d184214a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 25 May 2006 20:02:49 +0000 Subject: [PATCH] null_read() didn't reset the length, and thus could be read forever - this fixes bug #631. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17591 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/common/null.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/add-ons/kernel/drivers/common/null.c b/src/add-ons/kernel/drivers/common/null.c index c0cac761f6..0c48ddc80e 100644 --- a/src/add-ons/kernel/drivers/common/null.c +++ b/src/add-ons/kernel/drivers/common/null.c @@ -1,12 +1,16 @@ /* -** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. -** Distributed under the terms of the NewOS License. -*/ + * Copyright 2002-2006, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + * + * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the NewOS License. + */ #include #include + #define DEVICE_NAME "null" int32 api_version = B_CUR_DRIVER_API_VERSION; @@ -42,14 +46,15 @@ null_ioctl(void *cookie, uint32 op, void *buffer, size_t length) static status_t -null_read(void *cookie, off_t pos, void *buffer, size_t *length) +null_read(void *cookie, off_t pos, void *buffer, size_t *_length) { + *_length = 0; return B_OK; } static status_t -null_write(void * cookie, off_t pos, const void *buf, size_t *len) +null_write(void *cookie, off_t pos, const void *buffer, size_t *_length) { return B_OK; } @@ -87,13 +92,6 @@ find_device(const char *name) &null_ioctl, &null_read, &null_write, - /* Leave select/deselect/readv/writev undefined. The kernel will - * use its own default implementation. The basic hooks above this - * line MUST be defined, however. */ - NULL, - NULL, - NULL, - NULL }; if (!strcmp(name, DEVICE_NAME))