Issue #12687: Fix a possible buffering bug when unpickling text mode (protocol 0, mostly) pickles.
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 287f0a3..001360b 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -1034,9 +1034,8 @@
         num_read = _Unpickler_ReadFromFile(self, READ_WHOLE_LINE);
         if (num_read < 0)
             return -1;
-        *result = self->input_buffer;
         self->next_read_idx = num_read;
-        return num_read;
+        return _Unpickler_CopyLine(self, self->input_buffer, num_read, result);
     }
  
     /* If we get here, we've run off the end of the input string. Return the