Fix two nul deref if digging unknown nodes. (#5398)
authorAuke Kok <sofar+github@foo-projects.org>
Wed, 15 Mar 2017 07:04:53 +0000 (00:04 -0700)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Wed, 15 Mar 2017 07:04:53 +0000 (08:04 +0100)
Introduced by d785456b3fa35faf47cb972fde9e8668382c5e22 (#5162)

builtin/game/item.lua

index 7048dded17402278994dce74f98760c74827cd29..671a994c79134e698d2a483f998fbab47c643a96 100644 (file)
@@ -496,7 +496,7 @@ function core.node_dig(pos, node, digger)
        core.handle_node_drops(pos, drops, digger)
 
        local oldmetadata = nil
-       if def.after_dig_node then
+       if def and def.after_dig_node then
                oldmetadata = core.get_meta(pos):to_table()
        end
 
@@ -504,7 +504,7 @@ function core.node_dig(pos, node, digger)
        core.remove_node(pos)
 
        -- Run callback
-       if def.after_dig_node then
+       if def and def.after_dig_node then
                -- Copy pos and node because callback can modify them
                local pos_copy = {x=pos.x, y=pos.y, z=pos.z}
                local node_copy = {name=node.name, param1=node.param1, param2=node.param2}