Avoid false pointer deallocation in Go 1.8

See https://github.com/golang/go/issues/19135#issuecomment-280560041
master
Isamu Mogi 9 years ago
parent e05d69dcb5
commit f5dd7f7ed3

@ -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