Commit b67bf38
src: fix fs.write() externalized string handling
* Respect `encoding` argument when the string is externalized.
* Copy the string when the write request can outlive the externalized
string.
This commit removes `StringBytes::GetExternalParts()` because it is
fundamentally broken.
Fixes: #18146
Fixes: #22728
Backport-PR-URL: #22731
PR-URL: #18216
Reviewed-By: James M Snell <jasnell@gmail.com>1 parent ca8d4e3 commit b67bf38Copy full SHA for b67bf38
File tree
Expand file treeCollapse file tree
4 files changed
+106
-107
lines changedOpen diff view settings
Filter options
- src
- test/parallel
Expand file treeCollapse file tree
4 files changed
+106
-107
lines changedOpen diff view settings
Collapse file
+33-17Lines changed: 33 additions & 17 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
37 | 37 | |
38 | 38 | |
39 | 39 | |
| 40 | + |
40 | 41 | |
41 | 42 | |
42 | 43 | |
| ||
1127 | 1128 | |
1128 | 1129 | |
1129 | 1130 | |
| 1131 | + |
1130 | 1132 | |
1131 | | - |
| 1133 | + |
1132 | 1134 | |
1133 | 1135 | |
1134 | | - |
1135 | 1136 | |
1136 | 1137 | |
1137 | 1138 | |
1138 | | - |
1139 | | - |
1140 | | - |
1141 | | - |
1142 | | - |
1143 | | - |
| 1139 | + |
| 1140 | + |
| 1141 | + |
| 1142 | + |
| 1143 | + |
| 1144 | + |
| 1145 | + |
| 1146 | + |
| 1147 | + |
| 1148 | + |
| 1149 | + |
| 1150 | + |
| 1151 | + |
| 1152 | + |
| 1153 | + |
| 1154 | + |
| 1155 | + |
| 1156 | + |
| 1157 | + |
| 1158 | + |
| 1159 | + |
| 1160 | + |
| 1161 | + |
| 1162 | + |
| 1163 | + |
| 1164 | + |
1144 | 1165 | |
| 1166 | + |
| 1167 | + |
1145 | 1168 | |
1146 | 1169 | |
1147 | 1170 | |
1148 | 1171 | |
1149 | 1172 | |
1150 | | - |
| 1173 | + |
1151 | 1174 | |
1152 | 1175 | |
1153 | | - |
| 1176 | + |
1154 | 1177 | |
1155 | 1178 | |
1156 | | - |
1157 | | - |
1158 | | - |
1159 | | - |
1160 | | - |
1161 | | - |
1162 | | - |
1163 | 1179 | |
1164 | 1180 | |
1165 | 1181 | |
|
Collapse file
+29-84Lines changed: 29 additions & 84 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
27 | 27 | |
28 | 28 | |
29 | 29 | |
| 30 | + |
| 31 | + |
30 | 32 | |
31 | 33 | |
32 | 34 | |
| ||
269 | 271 | |
270 | 272 | |
271 | 273 | |
272 | | - |
273 | | - |
274 | | - |
275 | | - |
276 | | - |
277 | | - |
278 | | - |
279 | | - |
280 | | - |
281 | | - |
282 | | - |
283 | | - |
284 | | - |
285 | | - |
286 | | - |
287 | | - |
288 | | - |
289 | | - |
290 | | - |
291 | | - |
292 | | - |
293 | | - |
294 | | - |
295 | | - |
296 | | - |
297 | | - |
298 | | - |
299 | | - |
300 | | - |
301 | | - |
302 | | - |
303 | | - |
304 | | - |
305 | 274 | |
306 | 275 | |
307 | 276 | |
| ||
351 | 320 | |
352 | 321 | |
353 | 322 | |
354 | | - |
355 | | - |
356 | | - |
357 | | - |
| 323 | + |
| 324 | + |
| 325 | + |
| 326 | + |
| 327 | + |
358 | 328 | |
359 | 329 | |
360 | 330 | |
361 | 331 | |
362 | | - |
363 | | - |
364 | | - |
365 | 332 | |
366 | 333 | |
367 | 334 | |
368 | 335 | |
369 | 336 | |
370 | 337 | |
371 | 338 | |
372 | | - |
373 | | - |
| 339 | + |
| 340 | + |
| 341 | + |
| 342 | + |
374 | 343 | |
375 | 344 | |
376 | 345 | |
377 | 346 | |
378 | | - |
379 | | - |
| 347 | + |
380 | 348 | |
381 | 349 | |
382 | 350 | |
| ||
387 | 355 | |
388 | 356 | |
389 | 357 | |
390 | | - |
391 | | - |
392 | | - |
393 | | - |
394 | | - |
395 | | - |
396 | | - |
397 | | - |
| 358 | + |
| 359 | + |
398 | 360 | |
399 | 361 | |
400 | 362 | |
| ||
407 | 369 | |
408 | 370 | |
409 | 371 | |
410 | | - |
411 | | - |
| 372 | + |
| 373 | + |
| 374 | + |
412 | 375 | |
413 | 376 | |
414 | 377 | |
415 | 378 | |
416 | | - |
417 | | - |
418 | | - |
| 379 | + |
419 | 380 | |
420 | 381 | |
421 | 382 | |
422 | | - |
423 | | - |
| 383 | + |
| 384 | + |
| 385 | + |
424 | 386 | |
425 | 387 | |
426 | 388 | |
427 | 389 | |
428 | | - |
429 | | - |
430 | | - |
| 390 | + |
431 | 391 | |
432 | 392 | |
433 | 393 | |
| ||
504 | 464 | |
505 | 465 | |
506 | 466 | |
507 | | - |
508 | | - |
509 | 467 | |
510 | | - |
| 468 | + |
511 | 469 | |
512 | 470 | |
513 | | - |
514 | | - |
515 | | - |
516 | | - |
517 | 471 | |
518 | 472 | |
519 | 473 | |
520 | 474 | |
521 | 475 | |
522 | | - |
523 | | - |
| 476 | + |
524 | 477 | |
525 | 478 | |
526 | 479 | |
527 | | - |
528 | | - |
| 480 | + |
529 | 481 | |
530 | 482 | |
531 | | - |
532 | | - |
| 483 | + |
533 | 484 | |
534 | 485 | |
535 | 486 | |
536 | | - |
537 | | - |
| 487 | + |
538 | 488 | |
539 | 489 | |
540 | 490 | |
541 | | - |
542 | | - |
543 | | - |
544 | | - |
545 | | - |
546 | | - |
| 491 | + |
547 | 492 | |
548 | 493 | |
549 | | - |
| 494 | + |
550 | 495 | |
551 | 496 | |
552 | 497 | |
|
Collapse file
-6Lines changed: 0 additions & 6 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
81 | 81 | |
82 | 82 | |
83 | 83 | |
84 | | - |
85 | | - |
86 | | - |
87 | | - |
88 | | - |
89 | | - |
90 | 84 | |
91 | 85 | |
92 | 86 | |
|
Collapse file
test/parallel/test-fs-write.js
Copy file name to clipboardExpand all lines: test/parallel/test-fs-write.js+44Lines changed: 44 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
19 | 19 | |
20 | 20 | |
21 | 21 | |
| 22 | + |
22 | 23 | |
23 | 24 | |
24 | 25 | |
| ||
34 | 35 | |
35 | 36 | |
36 | 37 | |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | + |
37 | 81 | |
38 | 82 | |
39 | 83 | |
|
0 commit comments