浏览代码

libobs-opengl: Miscellaneous static analysis fixes

Detected by PVS Studio.
Richard Stanway 3 年之前
父节点
当前提交
a3c97dfad2
共有 3 个文件被更改,包括 11 次插入13 次删除
  1. 9 6
      libobs-opengl/gl-shader.c
  2. 1 3
      libobs-opengl/gl-x11-egl.c
  3. 1 4
      libobs-opengl/gl-x11-glx.c

+ 9 - 6
libobs-opengl/gl-shader.c

@@ -228,12 +228,15 @@ static bool gl_shader_init(struct gs_shader *shader,
 
 		char *infoLog = malloc(sizeof(char) * infoLength);
 
-		GLsizei returnedLength = 0;
-		glGetShaderInfoLog(shader->obj, infoLength, &returnedLength,
-				   infoLog);
-		blog(LOG_ERROR, "Error compiling shader:\n%s\n", infoLog);
-
-		free(infoLog);
+		if (infoLog) {
+			GLsizei returnedLength = 0;
+			glGetShaderInfoLog(shader->obj, infoLength,
+					   &returnedLength, infoLog);
+			blog(LOG_ERROR, "Error compiling shader:\n%s\n",
+			     infoLog);
+
+			free(infoLog);
+		}
 
 		success = false;
 	}

+ 1 - 3
libobs-opengl/gl-x11-egl.c

@@ -159,7 +159,6 @@ static xcb_get_geometry_reply_t *get_window_geometry(xcb_connection_t *xcb_conn,
 		return 0;
 	}
 
-	free(error);
 	return reply;
 }
 
@@ -371,8 +370,7 @@ static Display *open_windowless_display(Display *platform_display)
 	return display;
 
 error:
-	if (display)
-		XCloseDisplay(display);
+	XCloseDisplay(display);
 	return NULL;
 }
 

+ 1 - 4
libobs-opengl/gl-x11-glx.c

@@ -163,7 +163,6 @@ static xcb_get_geometry_reply_t *get_window_geometry(xcb_connection_t *xcb_conn,
 		return 0;
 	}
 
-	free(error);
 	return reply;
 }
 
@@ -195,7 +194,6 @@ static bool gl_context_create(struct gl_platform *plat)
 	}
 
 	plat->context = context;
-	plat->display = display;
 
 	plat->pbuffer =
 		glXCreatePbuffer(display, config[0], ctx_pbuffer_attribs);
@@ -273,8 +271,7 @@ static Display *open_windowless_display(void)
 	return display;
 
 error:
-	if (display)
-		XCloseDisplay(display);
+	XCloseDisplay(display);
 	return NULL;
 }