undefined4 alloc_image(ushort *param_1,ushort param_2,ushort param_3)

{
  void *__s;
  size_t __size;
  
  if (param_1 != (ushort *)0x0) {
    __size = (uint)param_3 * (uint)param_2 * 3   //possible issue identified - semgrep
    __s = malloc(__size)   //possible issue identified - semgrep
    *(void **)(param_1 + 2) = __s;
    memset(__s,0,__size);
    if (*(int *)(param_1 + 2) != 0) {
      param_1[1] = param_3;
      *param_1 = param_2;
      return 0;
    }
  }
  return 0xffffffff;
}