diff --git a/src/smblib/smballoc.c b/src/smblib/smballoc.c index b26be60c7f2010d576bfc5358e480abd1edd3b2e..fc271a31c753970cbbd6728f5d9d52f656fb39c6 100644 --- a/src/smblib/smballoc.c +++ b/src/smblib/smballoc.c @@ -129,6 +129,9 @@ int smb_freemsgdat(smb_t* smb, off_t offset, ulong length, uint16_t refs) off_t sda_offset; off_t flen; + if(offset < 0) + return SMB_ERR_DAT_OFFSET; + if(smb->status.attr&SMB_HYPERALLOC) /* do nothing */ return(SMB_SUCCESS);