Skip to content
Snippets Groups Projects
Commit cdaadaea authored by Martin Nilsson's avatar Martin Nilsson
Browse files

Fixed some malloc issues.

Rev: src/post_modules/GTK2/source/gdkcolormap.pre:1.3
Rev: src/post_modules/GTK2/source/gdkdisplay.pre:1.10
Rev: src/post_modules/GTK2/source/gdkscreen.pre:1.7
Rev: src/post_modules/GTK2/source/gobject.pre:1.13
parent 76a9bded
No related branches found
No related tags found
No related merge requests found
...@@ -37,8 +37,17 @@ int alloc_colors(array(GDK2.Color) colors, int writeable, ...@@ -37,8 +37,17 @@ int alloc_colors(array(GDK2.Color) colors, int writeable,
get_all_args("alloc_colors",args,"%A%i%i",&a,&wr,&best); get_all_args("alloc_colors",args,"%A%i%i",&a,&wr,&best);
if (a==NULL) if (a==NULL)
Pike_error("Invalid array.\n"); Pike_error("Invalid array.\n");
gc=(GdkColor *)xmalloc(sizeof(GdkColor)*a->size);
suc=(int *)xmalloc(sizeof(int)*a->size); gc=(GdkColor *)malloc(sizeof(GdkColor)*a->size);
suc=(int *)malloc(sizeof(int)*a->size);
if(!gc || !suc)
{
if(gc) free(gc);
SIMPLE_OUT_OF_MEMORY_ERROR("alloc_colors",
sizeof(GdkColor)*a->size +
sizeof(int)*a->size);
}
for (i=0; i<a->size; i++) { for (i=0; i<a->size; i++) {
struct object *o; struct object *o;
o=ITEM(a)[i].u.object; o=ITEM(a)[i].u.object;
...@@ -82,7 +91,7 @@ void free_colors(array(GDK2.Color) colors) ...@@ -82,7 +91,7 @@ void free_colors(array(GDK2.Color) colors)
get_all_args("free_colors",args,"%A",&a); get_all_args("free_colors",args,"%A",&a);
if (a==NULL) if (a==NULL)
Pike_error("Invalid array.\n"); Pike_error("Invalid array.\n");
gc=(GdkColor *)xmalloc(sizeof(GdkColor)*a->size); gc=(GdkColor *)xalloc(sizeof(GdkColor)*a->size);
for (i=0; i<a->size; i++) { for (i=0; i<a->size; i++) {
struct object *o; struct object *o;
o=ITEM(a)[i].u.object; o=ITEM(a)[i].u.object;
...@@ -106,9 +115,9 @@ void free_colors(array(GDK2.Color) colors) ...@@ -106,9 +115,9 @@ void free_colors(array(GDK2.Color) colors)
GdkColor *gc; GdkColor *gc;
get_all_args("query_color",args,"%i",&pix); get_all_args("query_color",args,"%i",&pix);
pgtk2_pop_n_elems(args); gc=(GdkColor *)xalloc(sizeof(GdkColor));
gc=(GdkColor *)xmalloc(sizeof(GdkColor));
gdk_colormap_query_color(GDK_COLORMAP(THIS->obj),pix,gc); gdk_colormap_query_color(GDK_COLORMAP(THIS->obj),pix,gc);
pgtk2_pop_n_elems(args);
push_gdkobject(gc,color); push_gdkobject(gc,color);
} }
} }
......
...@@ -257,7 +257,7 @@ void store_clipboard(GDK2.Window clipboard_window, ...@@ -257,7 +257,7 @@ void store_clipboard(GDK2.Window clipboard_window,
GdkAtom *targets; GdkAtom *targets;
int n; int n;
targets=xmalloc(a->size); targets=xalloc(a->size);
for (n=0; n<a->size; n++) for (n=0; n<a->size; n++)
targets[n]=get_gdkatom(ITEM(a)[n].u.object); targets[n]=get_gdkatom(ITEM(a)[n].u.object);
gdk_display_store_clipboard(GDK_DISPLAY_OBJECT(THIS->obj), gdk_display_store_clipboard(GDK_DISPLAY_OBJECT(THIS->obj),
......
...@@ -231,7 +231,7 @@ int get_n_monitors(); ...@@ -231,7 +231,7 @@ int get_n_monitors();
GdkRectangle *gr; GdkRectangle *gr;
get_all_args("get_monitor_geometry",args,"%i",&a); get_all_args("get_monitor_geometry",args,"%i",&a);
gr=(GdkRectangle *)xmalloc(sizeof(GdkRectangle)); gr=(GdkRectangle *)xalloc(sizeof(GdkRectangle));
gdk_screen_get_monitor_geometry(GDK_SCREEN(THIS->obj),a,gr); gdk_screen_get_monitor_geometry(GDK_SCREEN(THIS->obj),a,gr);
pgtk2_pop_n_elems(args); pgtk2_pop_n_elems(args);
push_gdkobject(gr,rectangle); push_gdkobject(gr,rectangle);
......
...@@ -221,11 +221,13 @@ int new_signal(string name, array types, string return_type) ...@@ -221,11 +221,13 @@ int new_signal(string name, array types, string return_type)
} else { } else {
return_type=G_TYPE_POINTER; return_type=G_TYPE_POINTER;
} }
param_types=xmalloc(sizeof(GType)*a->size);
param_types=malloc(sizeof(GType)*a->size);
if (param_types==NULL) { if (param_types==NULL) {
g_free(name); g_free(name);
SIMPLE_OUT_OF_MEMORY_ERROR("new_signal",sizeof(GType)*a->size); SIMPLE_OUT_OF_MEMORY_ERROR("new_signal",sizeof(GType)*a->size);
} }
for (i=n_params=0; i<a->size; i++) { for (i=n_params=0; i<a->size; i++) {
if (ITEM(a)[i].type!=PIKE_T_STRING) if (ITEM(a)[i].type!=PIKE_T_STRING)
continue; continue;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment