Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1754121982, "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":"a4069519cc103b5ac674604ec6a93b10", "commit": {"type":"commit", "time": 1622815536, "time_ofs": 60, "oid_tree": { "oid": "e9eb65bfd5b5ca4355038a2ac2324809c3e807c9", "alias": []}, "oid":{ "oid": "6c5636889d331204b0ed1de9d5bdd2d440c29d19", "alias": []}, "msg": "sspc: handle nonexistent metadata cleanly", "sig_commit": { "git_time": { "time": 1622815536, "offset": 60 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }, "sig_author": { "git_time": { "time": 1622815525, "offset": 60 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }}, "body": "sspc: handle nonexistent metadata cleanly\n" , "diff": "diff --git a/lib/secure-streams/secure-streams-serialize.c b/lib/secure-streams/secure-streams-serialize.c\nindex 0a86fe6..6d74147 100644\n--- a/lib/secure-streams/secure-streams-serialize.c\n+++ b/lib/secure-streams/secure-streams-serialize.c\n@@ -1118,25 +1118,28 @@ payload_ff:\n \t\t\t\t\tproxy_pss_to_ss_h(pss),\n \t\t\t\t\tpar-\u003emetadata_name);\n \n-\t\t\tif (par-\u003essmd-\u003evalue_on_lws_heap)\n-\t\t\t\tlws_free_set_NULL(par-\u003essmd-\u003evalue__may_own_heap);\n-\t\t\tpar-\u003essmd-\u003evalue_on_lws_heap \u003d 0;\n-\n-\t\t\tif (proxy_pss_to_ss_h(pss) \u0026\u0026\n-\t\t\t lws_fi(\u0026proxy_pss_to_ss_h(pss)-\u003efic, \u0022ssproxy_rx_metadata_oom\u0022))\n-\t\t\t\tpar-\u003essmd-\u003evalue__may_own_heap \u003d NULL;\n-\t\t\telse\n-\t\t\t\tpar-\u003essmd-\u003evalue__may_own_heap \u003d\n-\t\t\t\t\tlws_malloc((unsigned int)par-\u003erem + 1, \u0022metadata\u0022);\n-\n-\t\t\tif (!par-\u003essmd-\u003evalue__may_own_heap) {\n-\t\t\t\tlwsl_err(\u0022%s: OOM mdv\u005cn\u0022, __func__);\n-\t\t\t\tgoto hangup;\n+\t\t\tif (par-\u003essmd) {\n+\n+\t\t\t\tif (par-\u003essmd-\u003evalue_on_lws_heap)\n+\t\t\t\t\tlws_free_set_NULL(par-\u003essmd-\u003evalue__may_own_heap);\n+\t\t\t\tpar-\u003essmd-\u003evalue_on_lws_heap \u003d 0;\n+\n+\t\t\t\tif (proxy_pss_to_ss_h(pss) \u0026\u0026\n+\t\t\t\t lws_fi(\u0026proxy_pss_to_ss_h(pss)-\u003efic, \u0022ssproxy_rx_metadata_oom\u0022))\n+\t\t\t\t\tpar-\u003essmd-\u003evalue__may_own_heap \u003d NULL;\n+\t\t\t\telse\n+\t\t\t\t\tpar-\u003essmd-\u003evalue__may_own_heap \u003d\n+\t\t\t\t\t\tlws_malloc((unsigned int)par-\u003erem + 1, \u0022metadata\u0022);\n+\n+\t\t\t\tif (!par-\u003essmd-\u003evalue__may_own_heap) {\n+\t\t\t\t\tlwsl_err(\u0022%s: OOM mdv\u005cn\u0022, __func__);\n+\t\t\t\t\tgoto hangup;\n+\t\t\t\t}\n+\t\t\t\tpar-\u003essmd-\u003elength \u003d par-\u003erem;\n+\t\t\t\t((uint8_t *)par-\u003essmd-\u003evalue__may_own_heap)[par-\u003erem] \u003d '\u005c0';\n+\t\t\t\t/* mark it as needing cleanup */\n+\t\t\t\tpar-\u003essmd-\u003evalue_on_lws_heap \u003d 1;\n \t\t\t}\n-\t\t\tpar-\u003essmd-\u003elength \u003d par-\u003erem;\n-\t\t\t((uint8_t *)par-\u003essmd-\u003evalue__may_own_heap)[par-\u003erem] \u003d '\u005c0';\n-\t\t\t/* mark it as needing cleanup */\n-\t\t\tpar-\u003essmd-\u003evalue_on_lws_heap \u003d 1;\n \t\t\tpar-\u003ectr \u003d 0;\n \t\t\tbreak;\n \n","s":{"c":1754121982,"u": 2432}} ],"g": 3141,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}