Merge pull request #16 from saturday06/fix/avoid_false_pointer_dealloc_go1.8

Avoid false pointer deallocation in Go 1.8
master
Shunsuke Michii 9 years ago committed by GitHub
commit 8e7242c458

@ -7,8 +7,8 @@ package webp
int writeWebP(uint8_t*, size_t, struct WebPPicture*); int writeWebP(uint8_t*, size_t, struct WebPPicture*);
static WebPPicture *malloc_WebPPicture(void) { static WebPPicture *calloc_WebPPicture(void) {
return malloc(sizeof(WebPPicture)); return calloc(sizeof(WebPPicture), 1);
} }
static void free_WebPPicture(WebPPicture* webpPicture) { static void free_WebPPicture(WebPPicture* webpPicture) {
@ -445,7 +445,7 @@ func EncodeRGBA(w io.Writer, img image.Image, c *Config) (err error) {
return return
} }
pic := C.malloc_WebPPicture() pic := C.calloc_WebPPicture()
if pic == nil { if pic == nil {
return errors.New("Could not allocate webp picture") return errors.New("Could not allocate webp picture")
} }
@ -489,7 +489,7 @@ func EncodeGray(w io.Writer, p *image.Gray, c *Config) (err error) {
return return
} }
pic := C.malloc_WebPPicture() pic := C.calloc_WebPPicture()
if pic == nil { if pic == nil {
return errors.New("Could not allocate webp picture") return errors.New("Could not allocate webp picture")
} }
@ -524,7 +524,7 @@ func EncodeYUVA(w io.Writer, img *YUVAImage, c *Config) (err error) {
return return
} }
pic := C.malloc_WebPPicture() pic := C.calloc_WebPPicture()
if pic == nil { if pic == nil {
return errors.New("Could not allocate webp picture") return errors.New("Could not allocate webp picture")
} }

Loading…
Cancel
Save