Change in osmo-remsim[master]: avoid talloc abort in simtrace2 frontend_append_script_env()

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Sun May 24 14:14:49 UTC 2020


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18437 )

Change subject: avoid talloc abort in simtrace2 frontend_append_script_env()
......................................................................

avoid talloc abort in simtrace2 frontend_append_script_env()

talloc requires a valid context for the allocation, we cannot use
env[i] as context.

Change-Id: I82b5e6b91b39d6f5c2a7492adb8c6193083e0d70
---
M src/client/client.h
M src/client/main_fsm.c
M src/client/user_ifdhandler.c
M src/client/user_shell.c
M src/client/user_simtrace2.c
5 files changed, 8 insertions(+), 9 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/src/client/client.h b/src/client/client.h
index b828882..0024f52 100644
--- a/src/client/client.h
+++ b/src/client/client.h
@@ -48,7 +48,7 @@
 int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len);
 int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len);
 int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts);
-int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env);
+int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env);
 
 /* main.c */
 
diff --git a/src/client/main_fsm.c b/src/client/main_fsm.c
index 0674f6c..673b19e 100644
--- a/src/client/main_fsm.c
+++ b/src/client/main_fsm.c
@@ -75,9 +75,9 @@
 	env[i++] = talloc_asprintf(env, "REMSIM_CAUSE=%s", cause);
 
 	/* ask frontend to append any frontend-speccific additional environment vars */
-	rc = frontend_append_script_env(bc, env+i, 256-i);
+	rc = frontend_append_script_env(bc, env, i, 256-i-1);
 	if (rc > 0)
-		i += rc;
+		i = rc;
 
 	/* terminate last entry */
 	env[i++] = NULL;
diff --git a/src/client/user_ifdhandler.c b/src/client/user_ifdhandler.c
index 188d3a6..a690503 100644
--- a/src/client/user_ifdhandler.c
+++ b/src/client/user_ifdhandler.c
@@ -206,9 +206,9 @@
 	return 0;
 }
 
-int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env)
+int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env)
 {
-	return 0;
+	return idx;
 }
 
 /***********************************************************************
diff --git a/src/client/user_shell.c b/src/client/user_shell.c
index 40bcddd..9c804c6 100644
--- a/src/client/user_shell.c
+++ b/src/client/user_shell.c
@@ -54,9 +54,9 @@
 	return 0;
 }
 
-int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env)
+int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env)
 {
-	return 0;
+	return idx;
 }
 
 
diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c
index 5d5bfc1..f84db9d 100644
--- a/src/client/user_simtrace2.c
+++ b/src/client/user_simtrace2.c
@@ -361,10 +361,9 @@
 	return 0;
 }
 
-int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env)
+int frontend_append_script_env(struct bankd_client *bc, char **env, int i, size_t max_env)
 {
 	struct osmo_st2_cardem_inst *ci = bc->cardem;
-	int i = 0;
 
 	if (max_env < 4)
 		return -ENOSPC;

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18437
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-remsim
Gerrit-Branch: master
Gerrit-Change-Id: I82b5e6b91b39d6f5c2a7492adb8c6193083e0d70
Gerrit-Change-Number: 18437
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200524/46276a4f/attachment.htm>


More information about the gerrit-log mailing list