A negative size probably means that a system call failed. The caller could set that to 0 but we might as well just tolerate it in stream_report_content() by making the parameter type signed.
Coverity #10718. --- lib/stream.c | 4 ++-- lib/stream.h | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/stream.c b/lib/stream.c index 90ec521..37b6110 100644 --- a/lib/stream.c +++ b/lib/stream.c @@ -727,7 +727,7 @@ pstream_open_with_default_ports(const char *name_, /* Attempts to guess the content type of a stream whose first few bytes were * the 'size' bytes of 'data'. */ static enum stream_content_type -stream_guess_content(const uint8_t *data, size_t size) +stream_guess_content(const uint8_t *data, ssize_t size) { if (size >= 2) { #define PAIR(A, B) (((A) << 8) | (B)) @@ -770,7 +770,7 @@ stream_content_type_to_string(enum stream_content_type type) * module 'module', naming 'stream_name' as the source, explaining what * content was expected and what was actually received. */ void -stream_report_content(const void *data, size_t size, +stream_report_content(const void *data, ssize_t size, enum stream_content_type expected_type, struct vlog_module *module, const char *stream_name) { diff --git a/lib/stream.h b/lib/stream.h index 2482bf2..51a7656 100644 --- a/lib/stream.h +++ b/lib/stream.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2010 Nicira Networks. + * Copyright (c) 2009, 2010, 2011 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ #include <stdbool.h> #include <stddef.h> #include <stdint.h> +#include <sys/types.h> #include "openvswitch/types.h" #include "vlog.h" @@ -84,7 +85,7 @@ enum stream_content_type { STREAM_JSONRPC }; -void stream_report_content(const void *, size_t, enum stream_content_type, +void stream_report_content(const void *, ssize_t, enum stream_content_type, struct vlog_module *, const char *stream_name); #endif /* stream.h */ -- 1.7.2.3 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev_openvswitch.org