From 087939471a47d7059223a5f52c933d37cbe547a9 Mon Sep 17 00:00:00 2001 From: Shalvah Date: Fri, 21 Jan 2022 16:38:51 +0100 Subject: [PATCH] doc: demonstrate dangers of `buffer.slice()` PR-URL: https://github.com/nodejs/node/pull/41628 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Antoine du Hamel Reviewed-By: Evan Lucas Reviewed-By: Mohammed Keyvanzadeh Reviewed-By: Mestery Reviewed-By: Rich Trott --- doc/api/buffer.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc/api/buffer.md b/doc/api/buffer.md index 80a97ababd2d06..108ed091f5cb1a 100644 --- a/doc/api/buffer.md +++ b/doc/api/buffer.md @@ -3427,6 +3427,14 @@ console.log(copiedBuf.toString()); console.log(buf.toString()); // Prints: buffer + +// With buf.slice(), the original buffer is modified. +const notReallyCopiedBuf = buf.slice(); +notReallyCopiedBuf[0]++; +console.log(notReallyCopiedBuf.toString()); +// Prints: cuffer +console.log(buf.toString()); +// Also prints: cuffer (!) ``` ```cjs @@ -3441,6 +3449,14 @@ console.log(copiedBuf.toString()); console.log(buf.toString()); // Prints: buffer + +// With buf.slice(), the original buffer is modified. +const notReallyCopiedBuf = buf.slice(); +notReallyCopiedBuf[0]++; +console.log(notReallyCopiedBuf.toString()); +// Prints: cuffer +console.log(buf.toString()); +// Also prints: cuffer (!) ``` ### `buf.swap16()`