summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-09-16 09:06:59 +0800
committerꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-09-16 09:06:59 +0800
commit8ae4a0aa882abd9911709012bfbe86015ac820fd (patch)
treedc1f7e60c6a5ea3a37bb5ee0aa6c367d7209f624
parent1ffb560b8de53c8439abed14c6669cd13a70b9ac (diff)
State and nonce comparison lines made fewer
-rw-r--r--shopify.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/shopify.c b/shopify.c
index f75b8ac..2bc239c 100644
--- a/shopify.c
+++ b/shopify.c
@@ -146,16 +146,18 @@ bool shopify_valid(struct MHD_Connection *conn, const char *url,
free(query);
if (strcmp(url, redir_url))
return true;
- char *state = ((struct shopify_param *)bsearch(&(struct shopify_param)
- { "state" }, *params, nparams,
- sizeof(struct shopify_param), keycmp))->val;
int nsessions = 0;
while (sessions[nsessions].shop)
nsessions++;
qsort(sessions, nsessions, sizeof(struct session), keycmp);
- struct session *session = bsearch(&(struct session){ shop }, sessions,
- nsessions, sizeof(struct session), keycmp);
- if (strcmp(state, session->nonce)) {
+ if (strcmp(((struct shopify_param *)bsearch(&(struct shopify_param)
+ { "state" }, *params, nparams,
+ sizeof(struct shopify_param),
+ keycmp))->val,
+ ((struct session *)bsearch(&(struct session)
+ { shop }, sessions, nsessions,
+ sizeof(struct session),
+ keycmp))->nonce)) {
clear(*params);
return false;
}