Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1752653079, "reponame":"libwebsockets", "desc":"libwebsockets lightweight C networking library", "owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://libwebsockets.org/repo/libwebsockets", "f":3, "items": [ {"schema":"libjg2-1", "cid":"740f0df1e77260cc6dcbc7fee2a43c00", "commit": {"type":"commit", "time": 1594826280, "time_ofs": 60, "oid_tree": { "oid": "baa21905930ebb2b89a2fa310e24c62ec85e9d4e", "alias": []}, "oid":{ "oid": "08b9a31e205c0e78a340526f869714a9712f7032", "alias": []}, "msg": "lws_json_simple: allow running into end", "sig_commit": { "git_time": { "time": 1594826280, "offset": 60 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }, "sig_author": { "git_time": { "time": 1594562956, "offset": 60 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }}, "body": "lws_json_simple: allow running into end\n\nIf the arg is unquoted, it's normal to run into the\nend finding its extent." , "diff": "diff --git a/lib/core/libwebsockets.c b/lib/core/libwebsockets.c\nindex d034fe7..aae7155 100644\n--- a/lib/core/libwebsockets.c\n+++ b/lib/core/libwebsockets.c\n@@ -405,7 +405,7 @@ lws_json_simple_find(const char *buf, size_t len, const char *name, size_t *alen\n \twhile (np \u003c end \u0026\u0026 (*np \u003d\u003d ' ' || *np \u003d\u003d '\u005ct'))\n \t\tnp++;\n \n-\tif (np \u003e\u003d end - 1)\n+\tif (np \u003e\u003d end)\n \t\treturn NULL;\n \n \t/*\n@@ -432,9 +432,6 @@ lws_json_simple_find(const char *buf, size_t len, const char *name, size_t *alen\n \t\tnp++;\n \t}\n \n-\tif (np \u003d\u003d end)\n-\t\treturn NULL;\n-\n \t*alen \u003d lws_ptr_diff(np, as);\n \n \treturn as;\ndiff --git a/minimal-examples/api-tests/api-test-lejp/main.c b/minimal-examples/api-tests/api-test-lejp/main.c\nindex 91cd630..352181b 100644\n--- a/minimal-examples/api-tests/api-test-lejp/main.c\n+++ b/minimal-examples/api-tests/api-test-lejp/main.c\n@@ -184,6 +184,27 @@ int main(int argc, const char **argv)\n \t\t}\n \t}\n \n+\t{\n+\t\tconst char *cs;\n+\t\tsize_t cslen;\n+\t\tcs \u003d lws_json_simple_find(\u0022{\u005c\u0022blah\u005c\u0022:123,\u005c\u0022ext\u005c\u0022:{\u005c\u0022authorized\u005c\u0022:1}}\u0022, 35,\n+\t\t\t\t\t \u0022\u005c\u0022ext\u005c\u0022:\u0022, \u0026cslen);\n+\t\tif (!cs) {\n+\t\t\tlwsl_err(\u0022%s: simple_find failed\u005cn\u0022, __func__);\n+\t\t\te++;\n+\t\t} else {\n+\t\t\tif (lws_json_simple_strcmp(cs, cslen,\n+\t\t\t\t\t\u0022\u005c\u0022authorized\u005c\u0022:\u0022, \u00221\u0022))\n+\t\t\t\te++;\n+\t\t}\n+\t\tcs \u003d lws_json_simple_find(\u0022{\u005c\u0022blah\u005c\u0022:123,\u005c\u0022auth_user\u005c\u0022:\u005c\u0022andy@warmcat.com\u005c\u0022,\u005c\u0022thing\u005c\u0022:\u005c\u0022yeah\u005c\u0022}\u0022, 57,\n+\t\t\t\t\t \u0022\u005c\u0022auth_user\u005c\u0022:\u0022, \u0026cslen);\n+\t\tif (cslen !\u003d 16) {\n+\t\t\tlwsl_err(\u0022%s: wrong string len %d isolated\u005cn\u0022, __func__, (int)cslen);\n+\t\t\te++;\n+\t\t}\n+\t}\n+\n \tif (e)\n \t\tgoto bail;\n \n","s":{"c":1752653079,"u": 3055}} ],"g": 3901,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}