diff --git a/doc/xml/release.xml b/doc/xml/release.xml
index 646cb4b2f..b641d0c91 100644
--- a/doc/xml/release.xml
+++ b/doc/xml/release.xml
@@ -29,6 +29,18 @@
Allow global
as a stanza prefix.
+
+
+
+
+
+
+
+
+
+
+ Fix segfault on invalid GCS key file.
+
@@ -10376,6 +10388,11 @@
crunchyheath
+
+ Henrik Feldt
+ haf
+
+
Ibrahim Edib Kokdemir
Edib
diff --git a/src/storage/gcs/storage.c b/src/storage/gcs/storage.c
index b4047848b..7975b9a15 100644
--- a/src/storage/gcs/storage.c
+++ b/src/storage/gcs/storage.c
@@ -966,7 +966,11 @@ storageGcsNew(
KeyValue *kvKey = jsonToKv(strNewBuf(storageGetP(storageNewReadP(storagePosixNewP(FSLASH_STR), key))));
driver->credential = varStr(kvGet(kvKey, GCS_JSON_CLIENT_EMAIL_VAR));
driver->privateKey = varStr(kvGet(kvKey, GCS_JSON_PRIVATE_KEY_VAR));
- driver->authUrl = httpUrlNewParseP(varStr(kvGet(kvKey, GCS_JSON_TOKEN_URI_VAR)), .type = httpProtocolTypeHttps);
+ const String *const uri = varStr(kvGet(kvKey, GCS_JSON_TOKEN_URI_VAR));
+
+ CHECK(driver->credential != NULL && driver->privateKey != NULL && uri != NULL);
+
+ driver->authUrl = httpUrlNewParseP(uri, .type = httpProtocolTypeHttps);
driver->authClient = httpClientNew(
tlsClientNew(