{"schema":"libjg2-1",
"vpath":"/git/",
"avatar":"/git/avatar/",
"alang":"",
"gen_ut":1746415003,
"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":"8e4d31ae3c57dff8006494b5dfbc44a0",
"commit": {"type":"commit",
"time": 1472346640,
"time_ofs": 480,
"oid_tree": { "oid": "fc825e514b769b42ae62e9fcbd8651ec072f0ae0", "alias": []},
"oid":{ "oid": "16f3e4cacf429a7f7f88266b1bc736c487b41caa", "alias": []},
"msg": "coverity 169267 - lwsgt strncpy may fill buffer without NUL",
"sig_commit": { "git_time": { "time": 1472346640, "offset": 480 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },
"sig_author": { "git_time": { "time": 1472346640, "offset": 480 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }},
"body": "coverity 169267 - lwsgt strncpy may fill buffer without NUL"
,
"diff": "diff --git a/plugins/generic-sessions/protocol_generic_sessions.c b/plugins/generic-sessions/protocol_generic_sessions.c\nindex 9e246b1..7dc31b2 100644\n--- a/plugins/generic-sessions/protocol_generic_sessions.c\n+++ b/plugins/generic-sessions/protocol_generic_sessions.c\n@@ -418,7 +418,8 @@ callback_generic_sessions(struct lws *wsi, enum lws_callback_reasons reason,\n \n \t\tpss-\u003elogin_session.id[0] \u003d '\u005c0';\n \t\tpss-\u003ephs.pos \u003d 0;\n-\t\tstrncpy(pss-\u003eonward, (char *)in, sizeof(pss-\u003eonward));\n+\t\tstrncpy(pss-\u003eonward, (char *)in, sizeof(pss-\u003eonward) - 1);\n+\t\tpss-\u003eonward[sizeof(pss-\u003eonward) - 1] \u003d '\u005c0';\n \n \t\tif (!strcmp((const char *)in, \u0022/lwsgs-forgot\u0022)) {\n \t\t\tlwsgs_handler_forgot(vhd, wsi, pss);\n@@ -512,9 +513,10 @@ callback_generic_sessions(struct lws *wsi, enum lws_callback_reasons reason,\n \t\t\t\t sqlite3_errmsg(vhd-\u003epdb));\n \t\t\tbreak;\n \t\t}\n-\t\tstrncpy(sinfo-\u003eusername, u.username, sizeof(sinfo-\u003eusername));\n-\t\tstrncpy(sinfo-\u003eemail, u.email, sizeof(sinfo-\u003eemail));\n-\t\tstrncpy(sinfo-\u003esession, sid.id, sizeof(sinfo-\u003esession));\n+\t\tstrncpy(sinfo-\u003eusername, u.username, sizeof(sinfo-\u003eusername) - 1);\n+\t\tsinfo-\u003eusername[sizeof(sinfo-\u003eusername) - 1] \u003d '\u005c0';\n+\t\tstrncpy(sinfo-\u003eemail, u.email, sizeof(sinfo-\u003eemail) - 1);\n+\t\tstrncpy(sinfo-\u003esession, sid.id, sizeof(sinfo-\u003esession) - 1);\n \t\tsinfo-\u003emask \u003d lwsgs_get_auth_level(vhd, username);\n \t\tlws_get_peer_simple(wsi, sinfo-\u003eip, sizeof(sinfo-\u003eip));\n \t}\n","s":{"c":1746415003,"u": 1526}}
],"g": 2234,"chitpc": 0,"ehitpc": 0,"indexed":0
,
"ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}