diff --git a/src/add-ons/media/media-add-ons/firewire_dv/FireWireCard.cpp b/src/add-ons/media/media-add-ons/firewire_dv/FireWireCard.cpp index e69f19a980..00bc261af5 100644 --- a/src/add-ons/media/media-add-ons/firewire_dv/FireWireCard.cpp +++ b/src/add-ons/media/media-add-ons/firewire_dv/FireWireCard.cpp @@ -201,8 +201,10 @@ FireWireCard::DetectRecvFn() buf = (char*)malloc(1024*16); len = read(fDev, buf, 1024*16); - if (len < 0) + if (len < 0) { + free(buf); return errno; + } ptr = (u_int32_t*) buf; ciph = (struct ciphdr*)(ptr + 1);