File tree Expand file tree Collapse file tree 1 file changed +16
-4
lines changed
plugins/filter_kubernetes Expand file tree Collapse file tree 1 file changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -291,12 +291,14 @@ int determine_platform(struct flb_kube *ctx)
291291 size_t token_size ;
292292 char * payload = NULL ;
293293 size_t payload_len ;
294- char * issuer_start ,
294+ char * issuer_start ;
295295 char * issuer_end ;
296- char * first_dot ,
296+ char * first_dot ;
297297 char * second_dot ;
298298 size_t payload_b64_len ;
299299 char * payload_b64 ;
300+ size_t issuer_len ;
301+ char * issuer_value ;
300302
301303 /* Read serviceaccount token */
302304 ret = flb_utils_read_file (FLB_KUBE_TOKEN , & token_buf , & token_size );
@@ -311,7 +313,7 @@ int determine_platform(struct flb_kube *ctx)
311313 return -1 ;
312314 }
313315
314- second_dot = strchr (first_dot + 1 , '.' );`
316+ second_dot = strchr (first_dot + 1 , '.' );
315317 if (!second_dot ) {
316318 flb_free (token_buf );
317319 return -1 ;
@@ -381,7 +383,17 @@ int determine_platform(struct flb_kube *ctx)
381383
382384 /* Check if issuer contains EKS OIDC URL pattern */
383385 /* EKS OIDC URLs follow pattern: https://oidc.eks.{region}.amazonaws.com/id/{cluster-id} */
384- if (strstr (issuer_start , "oidc.eks." ) && strstr (issuer_start , ".amazonaws.com/id/" )) {
386+ issuer_len = issuer_end - issuer_start ;
387+ issuer_value = flb_strndup (issuer_start , issuer_len );
388+ if (!issuer_value ) {
389+ flb_free (payload );
390+ return -1 ;
391+ }
392+
393+ int is_eks = (strstr (issuer_value , "oidc.eks." ) && strstr (issuer_value , ".amazonaws.com/id/" ));
394+ flb_free (issuer_value );
395+
396+ if (is_eks ) {
385397 flb_free (payload );
386398 return 1 ; /* EKS detected */
387399 }
You can’t perform that action at this time.
0 commit comments