diff options
Diffstat (limited to 'src/Cedar/Wpc.c')
-rw-r--r-- | src/Cedar/Wpc.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Cedar/Wpc.c b/src/Cedar/Wpc.c index 5ff64c3c..b270574c 100644 --- a/src/Cedar/Wpc.c +++ b/src/Cedar/Wpc.c @@ -401,8 +401,16 @@ BUF *WpcDataEntryToBuf(WPC_ENTRY *e) }
data_size = e->Size + 4096;
- data = Malloc(data_size);
- size = DecodeSafe64(data, e->Data, e->Size);
+ data = ZeroMalloc(data_size);
+
+ if (e->Size >= 1)
+ {
+ size = DecodeSafe64(data, e->Data, e->Size);
+ }
+ else
+ {
+ size = 0;
+ }
b = NewBuf();
WriteBuf(b, data, size);
|