Time Nick Message 02:48 luizrpgluiz hello, I enjoyed the new daily build of minetest here in kubuntu 16.04 beta 2, the game's performance was much better now with disabled shaders 04:42 maxxrodz hi 04:50 maxxrodz people are getting ignored 04:50 maxxrodz is this minetest 04:50 maxxrodz ok 04:50 maxxrodz is this minetest 04:50 maxxrodz hi 04:53 sofar this channel is for development of the core. other topics, please talk in #minetest, thanks. 19:35 srifqi ~tell paramat I've updated 2561, please see it. 19:35 ShadowBot srifqi: O.K. 19:59 red-001 #3919 19:59 ShadowBot https://github.com/minetest/minetest/issues/3919 -- Add base64 encoding and decoding to the lua api. by red-001 20:03 ShadowNinja I found some issues with the clang static analyzer. Some of them look like false positives, but it found a few good mem leaks. 20:23 Calinou meme leaks 20:23 VanessaE USE UP _ALL_ THE RAM! 20:35 Fixer VanessaE, develope all the things 22:26 ShadowNinja Clang likes the (new GUIMenu())->drop() pattern just about as much as I do. 22:28 ShadowNinja Apparently set_lists didn't work at all, and safeLoadFile had some leaks. 22:29 ShadowNinja I also found some NULL dereferences and an issue with the SRP API. 22:29 ShadowNinja It handles the case where malloc returns NULL, but then ignores it and operates on uninitialized data. 22:30 ShadowNinja IMO a memory allocation failure should just throw std::bad_alloc and crash, since there isn't much you can do about it. 22:31 ShadowNinja But for not I just made it propagate the error to the caller as a generic SRP error. 22:44 ShadowNinja generateBiomes seems to be copies&pasted across all mapgens but v6. 22:57 ShadowNinja Likewise with checkobject and Lua class-like userdata. 23:28 est31 the ->drop() is utter shit 23:28 est31 because it isn't called when unwinding the stack 23:29 est31 so e.g. if you allocate, and unwind before the drop, it gives big trouble 23:30 est31 ShadowNinja, about SRP, the bad alloc throwing should happen at the border, and on the minetest side of the story. 23:30 PilzAdam est31, https://github.com/minetest/minetest/commit/25da0594eb09bb0e72816aaf8280573a668af00c#commitcomment-16856039 thanks 23:30 est31 PilzAdam, np 23:31 est31 ShadowNinja, unless there is an actual bug in SRP itself. 23:31 ShadowNinja est31: In that case the object grabs itself and then frees itself when done though, which I think is a pretty ugly design. 23:32 ShadowNinja est31: And as for SRP, minetest will only get "SRP authentication failed", nothing more specific. 23:32 est31 can you show the code 23:33 ShadowNinja est31: hash_num in calculate_M drops the error. 23:34 est31 hmmm 23:34 est31 err 23:34 est31 I meant hrmmm 23:35 est31 hmmmm, sorry didnt want to ping you 23:35 ShadowNinja Compiler warning/bug fixing patch so far: http://ix.io/uZy/diff 23:35 ShadowNinja est31: You didn't -- until you added that extra 'm' :-P 23:35 est31 lol 23:35 est31 well shrug 23:36 est31 ShadowNinja, about the patch, I don't like it. SRP is meant as a C library, the c++ code is only included for the hash alg i think 23:37 est31 throwing bad_alloc is a bad habit of c++ libraries, C libraries just return NULL pointers or otherwise indicate an error 23:37 ShadowNinja est31: What would you prefer? 23:38 ShadowNinja est31: calculate_M is called by srp_user_process_challenge, which doesn't even really have a way to report errors. 23:38 est31 ShadowNinja, make it return an int and check where the function is called 23:39 ShadowNinja s/int/bool/ I did that. It prevents the read of uninitialized data, but it otherwise just ignores the error. 23:40 est31 ShadowNinja, C has no bool type 23:40 est31 at least last time I checked 23:40 ShadowNinja est31: stdbool.h / _Bool 23:40 ShadowNinja c99 23:41 est31 ah well 23:42 ShadowNinja est31: Line 66/67 of the patch, I'm not sure which time_of_day should be used. I used the current value, but that may be a bug. Do you know which is correct? 23:45 est31 I have no idea why you are even changing it 23:45 est31 reviewing this is pointless without having the output from the clang program 23:49 est31 its too large to be reviewed via irc, it best gets in line as a normal PR 23:49 est31 sorry 23:49 ShadowNinja est31: time_of_day is initialized to the struct's value, then immediately reset to the client's value. 23:49 est31 (also partly I want to do other things, non minetest things now) 23:50 ShadowNinja O.K.