Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 640174 | Differences between
and this patch

Collapse All | Expand All

(-)libsandbox/wrapper-funcs/__wrapper_exec.c (-4 / +9 lines)
Lines 166-181 Link Here
166
			while (sym < symend) { \
166
			while (sym < symend) { \
167
				char *symname = (void *)(elf + stroff + sym->st_name); \
167
				char *symname = (void *)(elf + stroff + sym->st_name); \
168
				if (ELF##n##_ST_VISIBILITY(sym->st_other) == STV_DEFAULT && \
168
				if (ELF##n##_ST_VISIBILITY(sym->st_other) == STV_DEFAULT && \
169
				    sym->st_shndx != SHN_UNDEF && sym->st_shndx < SHN_LORESERVE && \
169
					sym->st_shndx != SHN_UNDEF && sym->st_shndx < SHN_LORESERVE && \
170
				    sym->st_name && \
170
					sym->st_name) { \
171
				    /* Minor optimization to avoid strcmp. */ \
171
					if (sym->st_name == 0x20000) { \
172
				    symname[0] == '_' && symname[1] == '_') { \
172
						sym = symend; \
173
						break; \
174
					} \
175
					/* Minor optimization to avoid strcmp. */ \
176
					else if (symname[0] == '_' && symname[1] == '_') { \
173
					/* Blacklist internal C library symbols. */ \
177
					/* Blacklist internal C library symbols. */ \
174
					for (i = 0; i < ARRAY_SIZE(libc_alloc_syms); ++i) \
178
					for (i = 0; i < ARRAY_SIZE(libc_alloc_syms); ++i) \
175
						if (!strcmp(symname, libc_alloc_syms[i])) { \
179
						if (!strcmp(symname, libc_alloc_syms[i])) { \
176
							run_in_process = false; \
180
							run_in_process = false; \
177
							goto use_trace; \
181
							goto use_trace; \
178
						} \
182
						} \
183
					} \
179
				} \
184
				} \
180
				++sym; \
185
				++sym; \
181
			} \
186
			} \

Return to bug 640174