Skip to content

Commit a40c49a

Browse files
committed
fix(auth): conditionally strip stdout bytes during fallback
1 parent 74832cc commit a40c49a

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

packages/google-auth/google/oauth2/webauthn_handler.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,12 @@ def _call_plugin(self, cmd: str, input_json: str) -> str:
6060
process_result = subprocess.run([cmd], input=request, capture_output=True)
6161

6262
if process_result.returncode != 0:
63-
stdout_bytes = (
64-
process_result.stdout[4:]
65-
if len(process_result.stdout) >= 4
66-
else process_result.stdout
67-
)
63+
stdout_bytes = process_result.stdout
64+
if (
65+
len(stdout_bytes) >= 4
66+
and struct.unpack("<I", stdout_bytes[:4])[0] == len(stdout_bytes) - 4
67+
):
68+
stdout_bytes = stdout_bytes[4:]
6869

6970
error_msg = "Command '{}' returned non-zero exit status {}.\nStdout: {}\nStderr: {}".format(
7071
cmd,

0 commit comments

Comments
 (0)