diff --git a/include/mbedtls/camellia.h b/include/mbedtls/camellia.h
index e14a198..41e17f1 100644
--- a/include/mbedtls/camellia.h
+++ b/include/mbedtls/camellia.h
@@ -165,11 +165,9 @@
  *                 of length \c 16 Bytes. It is updated to allow streaming
  *                 use as explained above.
  * \param input    The buffer holding the input data. This must point to a
- *                 readable buffer of length \p length Bytes. This may be
- *                 \c NULL if `length == 0`.
+ *                 readable buffer of length \p length Bytes.
  * \param output   The buffer holding the output data. This must point to a
- *                 writable buffer of length \p length Bytes. This may be
- *                 \c NULL if `length == 0`.
+ *                 writable buffer of length \p length Bytes.
  *
  * \return         \c 0 if successful.
  * \return         A negative error code on failure.
@@ -212,11 +210,9 @@
  *                 of length \c 16 Bytes. It is updated after this call to
  *                 allow the aforementioned streaming usage.
  * \param input    The buffer holding the input data. This must be a readable
- *                 buffer of size \p length Bytes. This may be \c NULL if
- *                 \p length is \c 0.
+ *                 buffer of size \p length Bytes.
  * \param output   The buffer to hold the output data. This must be a writable
- *                 buffer of length \p length Bytes. This may be \c NULL if
- *                 \p length is \c 0.
+ *                 buffer of length \p length Bytes.
  *
  * \return         \c 0 if successful.
  * \return         A negative error code on failure.
@@ -297,11 +293,9 @@
  * \param stream_block  The saved stream-block for resuming. This must be a
  *                      read/write buffer of length \c 16 Bytes.
  * \param input         The input data stream. This must be a readable buffer of
- *                      size \p length Bytes. This may be \c NULL if \p length
- *                      is \c 0.
+ *                      size \p length Bytes.
  * \param output        The output data stream. This must be a writable buffer
- *                      of size \p length Bytes. This may be \c NULL if
- *                      \p length is \c 0.
+ *                      of size \p length Bytes.
  *
  * \return              \c 0 if successful.
  * \return              A negative error code on failure.
