Ray-Triangle Intersection Bug?

Why does the following code return an intersection point instead of None? The triangle is in the XY plane and the ray originates one unit above it and points in the +Z axis. Changing it to point in the -Z also returns the same result.
I thought a line is infinite and has no beginning or end, and a ray has a beginning and an end. So is this function a ray-intersection or a line-intersection test? Or is it a bug?

import Blender
from Blender.Mathutils import *
vec1 = Vector(-1,-1,0)
vec2 = Vector(0,1,0)
vec3 = Vector(1,-1,0)
ray  = Vector(0,0,1)
orig = Vector(0,0,1)
point = Intersect(vec1, vec2, vec3, ray, orig, 1)
print point