diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index ac44a29ff160eba4beeb85d4ce3e306415d435d8..172314f40a77f4273ed9180b5c6b88e86bb48941 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -119,6 +119,9 @@ static int tag_tree_decode(Jpeg2000DecoderContext *s, Jpeg2000TgtNode *node,
     Jpeg2000TgtNode *stack[30];
     int sp = -1, curval = 0;
 
+    if (!node)
+        return AVERROR_INVALIDDATA;
+
     while (node && !node->vis) {
         stack[++sp] = node;
         node        = node->parent;