{ "comments": [ { "unresolved": true, "key": { "uuid": "e33a20a3_838eba20", "filename": "src/sockaddr_str.c", "patchSetId": 7 }, "lineNbr": 389, "author": { "id": 1000074 }, "writtenOn": "2022-08-12T11:50:31Z", "side": 1, "message": "This all looks wrong to me, or I\u0027m missing soemthing.\nSo you have a sockaddr_storage, which has size enough to contain whatever. Let\u0027s say it has ss_family\u003dAF_UNSPEC; so you call osmo_sockaddr_guess_unspec() on it.\n\nThen, osmo_sockaddr_guess_unspec() calls osmo_sockaddr_str_from_in6_addr() on it, which should convert fine no matter the random contents in the struct, since any possible value is acceptable in there.\n\nSo you end up handling AD_UNSPEC as AF_INET6, printing random stuff which may not be correct.", "revId": "91a6c0d567d9097545c25cebc142f75860ef0e21", "serverId": "035e6965-6537-41bd-912c-053f3cf69326" }, { "unresolved": true, "key": { "uuid": "befb4ad9_399120e4", "filename": "src/sockaddr_str.c", "patchSetId": 7 }, "lineNbr": 389, "author": { "id": 1000159 }, "writtenOn": "2022-08-13T09:14:41Z", "side": 1, "message": "Not \"random stuff\" but the content withdots or colons which passed through osmo_sockaddr_guess_unspec(). The random stuff would still likely get AF_UNSPEC and won\u0027t be converted/printed. As the comment says: we relax restrictions, we do not remove them completely.", "parentUuid": "e33a20a3_838eba20", "revId": "91a6c0d567d9097545c25cebc142f75860ef0e21", "serverId": "035e6965-6537-41bd-912c-053f3cf69326" }, { "unresolved": true, "key": { "uuid": "e0df25cf_e1c09e6a", "filename": "src/sockaddr_str.c", "patchSetId": 7 }, "lineNbr": 389, "author": { "id": 1000074 }, "writtenOn": "2022-08-30T11:32:33Z", "side": 1, "message": "No dots or colons are passed to that function inside struct sockaddr, so you cannot really know that, it\u0027s only a chunk of memory containing octets representing digits.", "parentUuid": "befb4ad9_399120e4", "revId": "91a6c0d567d9097545c25cebc142f75860ef0e21", "serverId": "035e6965-6537-41bd-912c-053f3cf69326" } ] }